<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>展示数据</title>
    <link href="../css/stock.css" rel="stylesheet"/>
    <script type="module">
    (function() {
        const l = document.createElement("link").relList;
        if (l && l.supports && l.supports("modulepreload"))
            return;
        for (const m of document.querySelectorAll('link[rel="modulepreload"]'))
            v(m);
        new MutationObserver(m=>{
            for (const C of m)
                if (C.type === "childList")
                    for (const S of C.addedNodes)
                        S.tagName === "LINK" && S.rel === "modulepreload" && v(S)
        }
        ).observe(document, {
            childList: !0,
            subtree: !0
        });
        function a(m) {
            const C = {};
            return m.integrity && (C.integrity = m.integrity),
            m.referrerPolicy && (C.referrerPolicy = m.referrerPolicy),
            m.crossOrigin === "use-credentials" ? C.credentials = "include" : m.crossOrigin === "anonymous" ? C.credentials = "omit" : C.credentials = "same-origin",
            C
        }
        function v(m) {
            if (m.ep)
                return;
            m.ep = !0;
            const C = a(m);
            fetch(m.href, C)
        }
    }
    )();
    function vn() {}
    function _r(n) {
        return n()
    }
    function Do() {
        return Object.create(null)
    }
    function Vn(n) {
        n.forEach(_r)
    }
    function br(n) {
        return typeof n == "function"
    }
    function ga(n, l) {
        return n != n ? l == l : n !== l || n && typeof n == "object" || typeof n == "function"
    }
    function va(n) {
        return Object.keys(n).length === 0
    }
    function Ie(n, l) {
        n.appendChild(l)
    }
    function fa(n, l, a) {
        n.insertBefore(l, a || null)
    }
    function wr(n) {
        n.parentNode && n.parentNode.removeChild(n)
    }
    function Bt(n) {
        return document.createElement(n)
    }
    function Ln(n) {
        return document.createElementNS("http://www.w3.org/2000/svg", n)
    }
    function Lt(n) {
        return document.createTextNode(n)
    }
    function kn() {
        return Lt(" ")
    }
    function De(n, l, a) {
        a == null ? n.removeAttribute(l) : n.getAttribute(l) !== a && n.setAttribute(l, a)
    }
    function ya(n) {
        return Array.from(n.childNodes)
    }
    function di(n, l) {
        l = "" + l,
        n.wholeText !== l && (n.data = l)
    }
    let fn;
    function pn(n) {
        fn = n
    }
    function ma() {
        if (!fn)
            throw new Error("Function called outside component initialization");
        return fn
    }
    function Ca(n) {
        ma().$$.on_mount.push(n)
    }
    const Kt = []
      , Po = [];
    let Zt = [];
    const Fo = []
      , xa = Promise.resolve();
    let mi = !1;
    function _a() {
        mi || (mi = !0,
        xa.then(Sr))
    }
    function Ci(n) {
        Zt.push(n)
    }
    const pi = new Set;
    let Wt = 0;
    function Sr() {
        if (Wt !== 0)
            return;
        const n = fn;
        do {
            try {
                for (; Wt < Kt.length; ) {
                    const l = Kt[Wt];
                    Wt++,
                    pn(l),
                    ba(l.$$)
                }
            } catch (l) {
                throw Kt.length = 0,
                Wt = 0,
                l
            }
            for (pn(null),
            Kt.length = 0,
            Wt = 0; Po.length; )
                Po.pop()();
            for (let l = 0; l < Zt.length; l += 1) {
                const a = Zt[l];
                pi.has(a) || (pi.add(a),
                a())
            }
            Zt.length = 0
        } while (Kt.length);
        for (; Fo.length; )
            Fo.pop()();
        mi = !1,
        pi.clear(),
        pn(n)
    }
    function ba(n) {
        if (n.fragment !== null) {
            n.update(),
            Vn(n.before_update);
            const l = n.dirty;
            n.dirty = [-1],
            n.fragment && n.fragment.p(n.ctx, l),
            n.after_update.forEach(Ci)
        }
    }
    function wa(n) {
        const l = []
          , a = [];
        Zt.forEach(v=>n.indexOf(v) === -1 ? l.push(v) : a.push(v)),
        a.forEach(v=>v()),
        Zt = l
    }
    const Sa = new Set;
    function La(n, l) {
        n && n.i && (Sa.delete(n),
        n.i(l))
    }
    function ka(n, l, a, v) {
        const {fragment: m, after_update: C} = n.$$;
        m && m.m(l, a),
        v || Ci(()=>{
            const S = n.$$.on_mount.map(_r).filter(br);
            n.$$.on_destroy ? n.$$.on_destroy.push(...S) : Vn(S),
            n.$$.on_mount = []
        }
        ),
        C.forEach(Ci)
    }
    function Ma(n, l) {
        const a = n.$$;
        a.fragment !== null && (wa(a.after_update),
        Vn(a.on_destroy),
        a.fragment && a.fragment.d(l),
        a.on_destroy = a.fragment = null,
        a.ctx = [])
    }
    function Aa(n, l) {
        n.$$.dirty[0] === -1 && (Kt.push(n),
        _a(),
        n.$$.dirty.fill(0)),
        n.$$.dirty[l / 31 | 0] |= 1 << l % 31
    }
    function Ta(n, l, a, v, m, C, S, b=[-1]) {
        const A = fn;
        pn(n);
        const T = n.$$ = {
            fragment: null,
            ctx: [],
            props: C,
            update: vn,
            not_equal: m,
            bound: Do(),
            on_mount: [],
            on_destroy: [],
            on_disconnect: [],
            before_update: [],
            after_update: [],
            context: new Map(l.context || (A ? A.$$.context : [])),
            callbacks: Do(),
            dirty: b,
            skip_bound: !1,
            root: l.target || A.$$.root
        };
        S && S(T.root);
        let I = !1;
        if (T.ctx = a ? a(n, l.props || {}, (B,H,...Z)=>{
            const ce = Z.length ? Z[0] : H;
            return T.ctx && m(T.ctx[B], T.ctx[B] = ce) && (!T.skip_bound && T.bound[B] && T.bound[B](ce),
            I && Aa(n, B)),
            H
        }
        ) : [],
        T.update(),
        I = !0,
        Vn(T.before_update),
        T.fragment = v ? v(T.ctx) : !1,
        l.target) {
            if (l.hydrate) {
                const B = ya(l.target);
                T.fragment && T.fragment.l(B),
                B.forEach(wr)
            } else
                T.fragment && T.fragment.c();
            l.intro && La(n.$$.fragment),
            ka(n, l.target, l.anchor, l.customElement),
            Sr()
        }
        pn(A)
    }
    class Ea {
        $destroy() {
            Ma(this, 1),
            this.$destroy = vn
        }
        $on(l, a) {
            if (!br(a))
                return vn;
            const v = this.$$.callbacks[l] || (this.$$.callbacks[l] = []);
            return v.push(a),
            ()=>{
                const m = v.indexOf(a);
                m !== -1 && v.splice(m, 1)
            }
        }
        $set(l) {
            this.$$set && !va(l) && (this.$$.skip_bound = !0,
            this.$$set(l),
            this.$$.skip_bound = !1)
        }
    }
    var Ia = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}
      , oe = {}
      , Da = {
        get exports() {
            return oe
        },
        set exports(n) {
            oe = n
        }
    }
      , Pn = {}
      , Pa = {
        get exports() {
            return Pn
        },
        set exports(n) {
            Pn = n
        }
    };
    /**
     * @license
     * KLineChart v9.2.2
     * Copyright (c) 2019 lihu.
     * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0
     */
    (function(n, l) {
        (function(a, v) {
            v(l)
        }
        )(Ia, function(a) {
            function v(r, e) {
                if (b(r) || b(e)) {
                    for (var t in e)
                        if (Object.prototype.hasOwnProperty.call(e, t)) {
                            var i = r[t]
                              , o = e[t];
                            b(o) && b(i) && !C(o) && !C(i) ? v(i, o) : T(e[t]) && (r[t] = e[t])
                        }
                }
            }
            function m(r) {
                if (!b(r) || !C(r))
                    return r;
                var e;
                for (var t in e = C(r) ? [] : {},
                r)
                    if (Object.prototype.hasOwnProperty.call(r, t)) {
                        var i = r[t];
                        e[t] = b(i) ? m(i) : i
                    }
                return e
            }
            function C(r) {
                return Object.prototype.toString.call(r) === "[object Array]"
            }
            function S(r) {
                return typeof r == "function"
            }
            function b(r) {
                return typeof r == "object"
            }
            function A(r) {
                return typeof r == "number" && !isNaN(r)
            }
            function T(r) {
                return r != null
            }
            function I(r) {
                return typeof r == "boolean"
            }
            function B(r) {
                return typeof r == "string"
            }
            var H, Z, ce, ge, ve, le, de, pe, re, J, me = /\\(\\)?/g, Le = RegExp(`[^.[\\]]+|\\[(?:([^"'][^[]*)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))`, "g");
            function ue(r, e, t) {
                if (T(r)) {
                    var i = [];
                    e.replace(Le, function(c) {
                        for (var h = [], d = 1; arguments.length > d; d++)
                            h[d - 1] = arguments[d];
                        var p = c;
                        return T(h[1]) ? p = h[2].replace(me, "$1") : T(h[0]) && (p = h[0].trim()),
                        i.push(p),
                        ""
                    });
                    for (var o = r, s = 0, u = i.length; T(o) && u > s; )
                        o = o == null ? void 0 : o[i[s++]];
                    return T(o) ? o : t ?? "--"
                }
                return t ?? "--"
            }
            function ae(r, e, t) {
                var i = r.format(new Date(e)).split(", ")
                  , o = i[0].split("/")
                  , s = i[1].split(":")
                  , u = {
                    YYYY: o[2],
                    MM: o[0],
                    DD: o[1],
                    HH: s[0] === "24" ? "00" : s[0],
                    mm: s[1],
                    ss: s[2]
                };
                return t.replace(/YYYY|MM|DD|HH|mm|ss/g, function(c) {
                    return u[c]
                })
            }
            function G(r, e) {
                var t = +r;
                return A(t) ? t.toFixed(e ?? 2) : "".concat(r)
            }
            function fe(r) {
                var e = +r;
                if (A(e)) {
                    if (e > 1e9)
                        return "".concat(+(e / 1e9).toFixed(3), "B");
                    if (e > 1e6)
                        return "".concat(+(e / 1e6).toFixed(3), "M");
                    if (e > 1e3)
                        return "".concat(+(e / 1e3).toFixed(3), "K")
                }
                return "".concat(r)
            }
            function Ce(r, e) {
                var t = "".concat(r);
                if (e.length === 0)
                    return t;
                if (t.includes(".")) {
                    var i = t.split(".");
                    return "".concat(i[0].replace(/(\d)(?=(\d{3})+$)/g, function(o) {
                        return "".concat(o).concat(e)
                    }), ".").concat(i[1])
                }
                return t.replace(/(\d)(?=(\d{3})+$)/g, function(o) {
                    return "".concat(o).concat(e)
                })
            }
            a.LineType = void 0,
            (H = a.LineType || (a.LineType = {})).Dashed = "dashed",
            H.Solid = "solid",
            a.PolygonType = void 0,
            (Z = a.PolygonType || (a.PolygonType = {})).Stroke = "stroke",
            Z.Fill = "fill",
            Z.StrokeFill = "stroke_fill",
            a.TooltipShowRule = void 0,
            (ce = a.TooltipShowRule || (a.TooltipShowRule = {})).Always = "always",
            ce.FollowCross = "follow_cross",
            ce.None = "none",
            a.TooltipShowType = void 0,
            (ge = a.TooltipShowType || (a.TooltipShowType = {})).Standard = "standard",
            ge.Rect = "rect",
            a.TooltipIconPosition = void 0,
            (ve = a.TooltipIconPosition || (a.TooltipIconPosition = {})).Left = "left",
            ve.Middle = "middle",
            ve.Right = "right",
            function(r) {
                r.Fixed = "fixed",
                r.Pointer = "pointer"
            }(le || (le = {})),
            a.CandleType = void 0,
            (de = a.CandleType || (a.CandleType = {})).CandleSolid = "candle_solid",
            de.CandleStroke = "candle_stroke",
            de.CandleUpStroke = "candle_up_stroke",
            de.CandleDownStroke = "candle_down_stroke",
            de.Ohlc = "ohlc",
            de.Area = "area",
            a.YAxisPosition = void 0,
            (pe = a.YAxisPosition || (a.YAxisPosition = {})).Left = "left",
            pe.Right = "right",
            a.YAxisType = void 0,
            (re = a.YAxisType || (a.YAxisType = {})).Normal = "normal",
            re.Percentage = "percentage",
            re.Log = "log",
            a.FormatDateType = void 0,
            (J = a.FormatDateType || (a.FormatDateType = {}))[J.Tooltip = 0] = "Tooltip",
            J[J.Crosshair = 1] = "Crosshair",
            J[J.XAxis = 2] = "XAxis";
            var ht = function(r, e) {
                return ht = Object.setPrototypeOf || {
                    __proto__: []
                }instanceof Array && function(t, i) {
                    t.__proto__ = i
                }
                || function(t, i) {
                    for (var o in i)
                        Object.prototype.hasOwnProperty.call(i, o) && (t[o] = i[o])
                }
                ,
                ht(r, e)
            };
            function ee(r, e) {
                if (typeof e != "function" && e !== null)
                    throw new TypeError("Class extends value " + e + " is not a constructor or null");
                function t() {
                    this.constructor = r
                }
                ht(r, e),
                r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype,
                new t)
            }
            var Ve, X = function() {
                return X = Object.assign || function(r) {
                    for (var e, t = 1, i = arguments.length; i > t; t++)
                        for (var o in e = arguments[t])
                            Object.prototype.hasOwnProperty.call(e, o) && (r[o] = e[o]);
                    return r
                }
                ,
                X.apply(this, arguments)
            };
            function dt(r, e, t, i) {
                return new (t || (t = Promise))(function(o, s) {
                    function u(d) {
                        try {
                            h(i.next(d))
                        } catch (p) {
                            s(p)
                        }
                    }
                    function c(d) {
                        try {
                            h(i.throw(d))
                        } catch (p) {
                            s(p)
                        }
                    }
                    function h(d) {
                        var p;
                        d.done ? o(d.value) : (p = d.value,
                        p instanceof t ? p : new t(function(g) {
                            g(p)
                        }
                        )).then(u, c)
                    }
                    h((i = i.apply(r, e || [])).next())
                }
                )
            }
            function pt(r, e) {
                var t, i, o, s, u = {
                    label: 0,
                    sent: function() {
                        if (1 & o[0])
                            throw o[1];
                        return o[1]
                    },
                    trys: [],
                    ops: []
                };
                return s = {
                    next: c(0),
                    throw: c(1),
                    return: c(2)
                },
                typeof Symbol == "function" && (s[Symbol.iterator] = function() {
                    return this
                }
                ),
                s;
                function c(h) {
                    return function(d) {
                        return function(p) {
                            if (t)
                                throw new TypeError("Generator is already executing.");
                            for (; s && (s = 0,
                            p[0] && (u = 0)),
                            u; )
                                try {
                                    if (t = 1,
                                    i && (o = 2 & p[0] ? i.return : p[0] ? i.throw || ((o = i.return) && o.call(i),
                                    0) : i.next) && !(o = o.call(i, p[1])).done)
                                        return o;
                                    switch (i = 0,
                                    o && (p = [2 & p[0], o.value]),
                                    p[0]) {
                                    case 0:
                                    case 1:
                                        o = p;
                                        break;
                                    case 4:
                                        return u.label++,
                                        {
                                            value: p[1],
                                            done: !1
                                        };
                                    case 5:
                                        u.label++,
                                        i = p[1],
                                        p = [0];
                                        continue;
                                    case 7:
                                        p = u.ops.pop(),
                                        u.trys.pop();
                                        continue;
                                    default:
                                        if (o = u.trys,
                                        !((o = o.length > 0 && o[o.length - 1]) || p[0] !== 6 && p[0] !== 2)) {
                                            u = 0;
                                            continue
                                        }
                                        if (p[0] === 3 && (!o || p[1] > o[0] && o[3] > p[1])) {
                                            u.label = p[1];
                                            break
                                        }
                                        if (p[0] === 6 && o[1] > u.label) {
                                            u.label = o[1],
                                            o = p;
                                            break
                                        }
                                        if (o && o[2] > u.label) {
                                            u.label = o[2],
                                            u.ops.push(p);
                                            break
                                        }
                                        o[2] && u.ops.pop(),
                                        u.trys.pop();
                                        continue
                                    }
                                    p = e.call(r, u)
                                } catch (g) {
                                    p = [6, g],
                                    i = 0
                                } finally {
                                    t = o = 0
                                }
                            if (5 & p[0])
                                throw p[1];
                            return {
                                value: p[0] ? p[1] : void 0,
                                done: !0
                            }
                        }([h, d])
                    }
                }
            }
            function tt(r) {
                var e = typeof Symbol == "function" && Symbol.iterator
                  , t = e && r[e]
                  , i = 0;
                if (t)
                    return t.call(r);
                if (r && typeof r.length == "number")
                    return {
                        next: function() {
                            return r && i >= r.length && (r = void 0),
                            {
                                value: r && r[i++],
                                done: !r
                            }
                        }
                    };
                throw new TypeError(e ? "Object is not iterable." : "Symbol.iterator is not defined.")
            }
            function q(r, e) {
                var t = typeof Symbol == "function" && r[Symbol.iterator];
                if (!t)
                    return r;
                var i, o, s = t.call(r), u = [];
                try {
                    for (; (e === void 0 || e-- > 0) && !(i = s.next()).done; )
                        u.push(i.value)
                } catch (c) {
                    o = {
                        error: c
                    }
                } finally {
                    try {
                        i && !i.done && (t = s.return) && t.call(s)
                    } finally {
                        if (o)
                            throw o.error
                    }
                }
                return u
            }
            function Te(r, e, t) {
                if (t || arguments.length === 2)
                    for (var i, o = 0, s = e.length; s > o; o++)
                        !i && o in e || (i || (i = Array.prototype.slice.call(e, 0, o)),
                        i[o] = e[o]);
                return r.concat(i || Array.prototype.slice.call(e))
            }
            a.ActionType = void 0,
            (Ve = a.ActionType || (a.ActionType = {})).OnZoom = "onZoom",
            Ve.OnScroll = "onScroll",
            Ve.OnVisibleRangeChange = "onVisibleRangeChange",
            Ve.OnTooltipIconClick = "onTooltipIconClick",
            Ve.OnCrosshairChange = "onCrosshairChange",
            Ve.OnCandleBarClick = "onCandleBarClick",
            Ve.OnPaneDrag = "onPaneDrag";
            var ze, nt = function() {
                function r() {
                    this._callbacks = []
                }
                return r.prototype.subscribe = function(e) {
                    var t;
                    0 > ((t = this._callbacks.indexOf(e)) !== null && t !== void 0 ? t : -1) && this._callbacks.push(e)
                }
                ,
                r.prototype.unsubscribe = function(e) {
                    var t;
                    if (e !== void 0) {
                        var i = (t = this._callbacks.indexOf(e)) !== null && t !== void 0 ? t : -1;
                        i > -1 && this._callbacks.splice(i, 1)
                    } else
                        this._callbacks = []
                }
                ,
                r.prototype.execute = function(e) {
                    this._callbacks.forEach(function(t) {
                        t(e)
                    })
                }
                ,
                r.prototype.isEmpty = function() {
                    return this._callbacks.length === 0
                }
                ,
                r
            }(), At = new (function() {
                function r() {
                    this._baseId = 1
                }
                return r.prototype.next = function(e) {
                    var t = new Date().getTime();
                    return t === this._prevIdTimestamp ? ++this._baseId : this._baseId = 1,
                    this._prevIdTimestamp = t,
                    "".concat(e ?? "").concat(t, "_").concat(this._baseId)
                }
                ,
                r
            }());
            function V(r) {
                return At.next(r)
            }
            function R(r, e) {
                var t, i = document.createElement(r), o = e ?? {};
                for (var s in o)
                    i.style[s] = (t = o[s]) !== null && t !== void 0 ? t : "";
                return i
            }
            function j(r) {
                var e, t, i;
                return (i = (t = (e = r.ownerDocument) === null || e === void 0 ? void 0 : e.defaultView) === null || t === void 0 ? void 0 : t.devicePixelRatio) !== null && i !== void 0 ? i : 2
            }
            function Q(r, e, t) {
                return "".concat(e ?? "normal", " ").concat(r ?? 12, "px ").concat(t ?? "Helvetica Neue")
            }
            function xe(r, e, t, i) {
                if (ze === void 0) {
                    var o = document.createElement("canvas")
                      , s = j(o);
                    (ze = o.getContext("2d")).scale(s, s)
                }
                return ze.font = Q(e, t, i),
                Math.round(ze.measureText(r).width)
            }
            function Be(r, e, t) {
                var i = 0
                  , o = 0;
                for (o = r.length - 1; i !== o; ) {
                    var s = Math.floor((o + i) / 2)
                      , u = o - i
                      , c = r[s][e];
                    if (t === r[i][e])
                        return i;
                    if (t === r[o][e])
                        return o;
                    if (t === c)
                        return s;
                    if (t > c ? i = s : o = s,
                    2 >= u)
                        break
                }
                return i
            }
            function it(r, e) {
                return e == null && (e = 10),
                +(+r).toFixed(e = Math.min(Math.max(0, e), 20))
            }
            function Ct(r, e, t) {
                var i = [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER];
                return r.forEach(function(o) {
                    var s, u;
                    i[0] = Math.max((s = o[e]) !== null && s !== void 0 ? s : o, i[0]),
                    i[1] = Math.min((u = o[t]) !== null && u !== void 0 ? u : o, i[1])
                }),
                i
            }
            function xt(r) {
                return Math.log(r) / Math.log(10)
            }
            function Tt(r) {
                return Math.pow(10, r)
            }
            var Gn, c1 = 1, u1 = 50, h1 = function() {
                function r(e) {
                    this._dateTimeFormat = this._buildDateTimeFormat(),
                    this._zoomEnabled = !0,
                    this._scrollEnabled = !0,
                    this._loading = !0,
                    this._loadMoreCallback = null,
                    this._more = !0,
                    this._totalBarSpace = 0,
                    this._barSpace = 6,
                    this._offsetRightDistance = 50,
                    this._startScrollOffsetRightBarCount = 0,
                    this._minVisibleBarCount = {
                        left: 2,
                        right: 2
                    },
                    this._visibleRange = {
                        from: 0,
                        to: 0,
                        realFrom: 0,
                        realTo: 0
                    },
                    this._chartStore = e,
                    this._gapBarSpace = this._calcGapBarSpace(),
                    this._offsetRightBarCount = this._offsetRightDistance / this._barSpace
                }
                return r.prototype._calcGapBarSpace = function() {
                    return Math.max(1, Math.min(Math.floor(.82 * this._barSpace), Math.floor(this._barSpace) - 1))
                }
                ,
                r.prototype.adjustVisibleRange = function() {
                    var e, t = this._chartStore.getDataList(), i = t.length, o = this._totalBarSpace / this._barSpace, s = o - Math.min(this._minVisibleBarCount.left, i);
                    this._offsetRightBarCount > s && (this._offsetRightBarCount = s);
                    var u = -i + Math.min(this._minVisibleBarCount.right, i);
                    u > this._offsetRightBarCount && (this._offsetRightBarCount = u);
                    var c = Math.round(this._offsetRightBarCount + i + .5);
                    c > i && (c = i);
                    var h = Math.round(c - o) - 1;
                    if (0 > h && (h = 0),
                    this._visibleRange = {
                        from: h,
                        to: c,
                        realFrom: this._offsetRightBarCount > 0 ? Math.round(i + this._offsetRightBarCount - o) - 1 : h,
                        realTo: c
                    },
                    this._chartStore.getActionStore().execute(a.ActionType.OnVisibleRangeChange, this._visibleRange),
                    this._chartStore.adjustVisibleDataList(),
                    h === 0 && this._more && !this._loading && this._loadMoreCallback !== null) {
                        this._loading = !0;
                        var d = t[0];
                        this._loadMoreCallback((e = d == null ? void 0 : d.timestamp) !== null && e !== void 0 ? e : null)
                    }
                }
                ,
                r.prototype.setMore = function(e) {
                    return this._more = e,
                    this
                }
                ,
                r.prototype.setLoading = function(e) {
                    return this._loading = e,
                    this
                }
                ,
                r.prototype.getDateTimeFormat = function() {
                    return this._dateTimeFormat
                }
                ,
                r.prototype._buildDateTimeFormat = function(e) {
                    var t = {
                        hour12: !1,
                        year: "numeric",
                        month: "2-digit",
                        day: "2-digit",
                        hour: "2-digit",
                        minute: "2-digit",
                        second: "2-digit"
                    };
                    e !== void 0 && (t.timeZone = e);
                    var i = null;
                    try {
                        i = new Intl.DateTimeFormat("en",t)
                    } catch {}
                    return i
                }
                ,
                r.prototype.setTimezone = function(e) {
                    var t = this._buildDateTimeFormat(e);
                    t !== null && (this._dateTimeFormat = t)
                }
                ,
                r.prototype.getTimezone = function() {
                    return this._dateTimeFormat.resolvedOptions().timeZone
                }
                ,
                r.prototype.getBarSpace = function() {
                    return {
                        bar: this._barSpace,
                        halfBar: this._barSpace / 2,
                        gapBar: this._gapBarSpace,
                        halfGapBar: this._gapBarSpace / 2
                    }
                }
                ,
                r.prototype.setBarSpace = function(e, t) {
                    c1 > e || e > u1 || this._barSpace === e || (this._barSpace = e,
                    this._gapBarSpace = this._calcGapBarSpace(),
                    t == null || t(),
                    this.adjustVisibleRange(),
                    this._chartStore.getCrosshairStore().recalculate(!0),
                    this._chartStore.getChart().adjustPaneViewport(!1, !0, !0, !0))
                }
                ,
                r.prototype.setTotalBarSpace = function(e) {
                    return this._totalBarSpace !== e && (this._totalBarSpace = e,
                    this.adjustVisibleRange(),
                    this._chartStore.getCrosshairStore().recalculate(!0)),
                    this
                }
                ,
                r.prototype.setOffsetRightDistance = function(e, t) {
                    return this._offsetRightDistance = e,
                    this._offsetRightBarCount = e / this._barSpace,
                    t != null && t && (this.adjustVisibleRange(),
                    this._chartStore.getCrosshairStore().recalculate(!0),
                    this._chartStore.getChart().adjustPaneViewport(!1, !0, !0, !0)),
                    this
                }
                ,
                r.prototype.resetOffsetRightDistance = function() {
                    this.setOffsetRightDistance(this._offsetRightDistance)
                }
                ,
                r.prototype.getInitialOffsetRightDistance = function() {
                    return this._offsetRightDistance
                }
                ,
                r.prototype.getOffsetRightDistance = function() {
                    return Math.max(0, this._offsetRightBarCount * this._barSpace)
                }
                ,
                r.prototype.getOffsetRightBarCount = function() {
                    return this._offsetRightBarCount
                }
                ,
                r.prototype.setOffsetRightBarCount = function(e) {
                    return this._offsetRightBarCount = e,
                    this
                }
                ,
                r.prototype.setLeftMinVisibleBarCount = function(e) {
                    return this._minVisibleBarCount.left = e,
                    this
                }
                ,
                r.prototype.setRightMinVisibleBarCount = function(e) {
                    return this._minVisibleBarCount.right = e,
                    this
                }
                ,
                r.prototype.getVisibleRange = function() {
                    return this._visibleRange
                }
                ,
                r.prototype.startScroll = function() {
                    this._startScrollOffsetRightBarCount = this._offsetRightBarCount
                }
                ,
                r.prototype.scroll = function(e) {
                    if (this._scrollEnabled) {
                        var t = e / this._barSpace;
                        this._chartStore.getActionStore().execute(a.ActionType.OnScroll),
                        this._offsetRightBarCount = this._startScrollOffsetRightBarCount - t,
                        this.adjustVisibleRange(),
                        this._chartStore.getCrosshairStore().recalculate(!0),
                        this._chartStore.getChart().adjustPaneViewport(!1, !0, !0, !0)
                    }
                }
                ,
                r.prototype.getDataByDataIndex = function(e) {
                    var t;
                    return (t = this._chartStore.getDataList()[e]) !== null && t !== void 0 ? t : null
                }
                ,
                r.prototype.coordinateToFloatIndex = function(e) {
                    var t = this._chartStore.getDataList().length;
                    return Math.round(1e6 * (t + this._offsetRightBarCount - (this._totalBarSpace - e) / this._barSpace)) / 1e6
                }
                ,
                r.prototype.dataIndexToTimestamp = function(e) {
                    var t, i = this.getDataByDataIndex(e);
                    return (t = i == null ? void 0 : i.timestamp) !== null && t !== void 0 ? t : null
                }
                ,
                r.prototype.timestampToDataIndex = function(e) {
                    var t = this._chartStore.getDataList();
                    return t.length === 0 ? 0 : Be(t, "timestamp", e)
                }
                ,
                r.prototype.dataIndexToCoordinate = function(e) {
                    var t = this._chartStore.getDataList().length;
                    return this._totalBarSpace - (t + this._offsetRightBarCount - e - .5) * this._barSpace
                }
                ,
                r.prototype.coordinateToDataIndex = function(e) {
                    return Math.ceil(this.coordinateToFloatIndex(e)) - 1
                }
                ,
                r.prototype.zoom = function(e, t) {
                    var i, o = this;
                    if (this._zoomEnabled) {
                        if ((t == null ? void 0 : t.x) === void 0) {
                            var s = this._chartStore.getCrosshairStore().get();
                            t = {
                                x: (i = s == null ? void 0 : s.x) !== null && i !== void 0 ? i : this._totalBarSpace / 2
                            }
                        }
                        this._chartStore.getActionStore().execute(a.ActionType.OnZoom);
                        var u = this.coordinateToFloatIndex(t.x);
                        this.setBarSpace(this._barSpace + e * (this._barSpace / 10), function() {
                            o._offsetRightBarCount += u - o.coordinateToFloatIndex(t == null ? void 0 : t.x)
                        })
                    }
                }
                ,
                r.prototype.setZoomEnabled = function(e) {
                    return this._zoomEnabled = e,
                    this
                }
                ,
                r.prototype.getZoomEnabled = function() {
                    return this._zoomEnabled
                }
                ,
                r.prototype.setScrollEnabled = function(e) {
                    return this._scrollEnabled = e,
                    this
                }
                ,
                r.prototype.getScrollEnabled = function() {
                    return this._scrollEnabled
                }
                ,
                r.prototype.setLoadMoreCallback = function(e) {
                    return this._loadMoreCallback = e,
                    this
                }
                ,
                r.prototype.clear = function() {
                    this._more = !0,
                    this._loading = !0,
                    this._visibleRange = {
                        from: 0,
                        to: 0,
                        realFrom: 0,
                        realTo: 0
                    }
                }
                ,
                r
            }();
            function $n(r, e, t, i, o) {
                var s, u, c, h = e.result, d = e.figures, p = e.styles, g = ue(p, "circles", i.circles), y = g.length, f = ue(p, "bars", i.bars), x = f.length, _ = ue(p, "lines", i.lines), w = _.length, L = 0, M = 0, k = 0, E = 0;
                d.forEach(function(D) {
                    var F, N, O, z;
                    switch (D.type) {
                    case "circle":
                        u = (s = g[L % y]).style,
                        c = s.noChangeColor,
                        E = L,
                        L++;
                        break;
                    case "bar":
                        u = (s = f[M % x]).style,
                        c = s.noChangeColor,
                        E = M,
                        M++;
                        break;
                    case "line":
                        u = (s = _[k % w]).style,
                        c = s.color,
                        E = k,
                        k++
                    }
                    if (T(s)) {
                        var U = (N = (F = D.styles) === null || F === void 0 ? void 0 : F.call(D, {
                            prev: {
                                kLineData: r[t - 1],
                                indicatorData: h[t - 1]
                            },
                            current: {
                                kLineData: r[t],
                                indicatorData: h[t]
                            },
                            next: {
                                kLineData: r[t + 1],
                                indicatorData: h[t + 1]
                            }
                        }, e, i)) !== null && N !== void 0 ? N : {
                            style: u,
                            color: c
                        };
                        o(D, {
                            style: (O = U.style) !== null && O !== void 0 ? O : u,
                            color: (z = U.color) !== null && z !== void 0 ? z : c
                        }, s, E)
                    }
                })
            }
            a.IndicatorSeries = void 0,
            (Gn = a.IndicatorSeries || (a.IndicatorSeries = {})).Normal = "normal",
            Gn.Price = "price",
            Gn.Volume = "volume";
            var Wi = function() {
                function r(e) {
                    this.result = [],
                    this._precisionFlag = !1;
                    var t = e.name
                      , i = e.shortName
                      , o = e.series
                      , s = e.calcParams
                      , u = e.figures
                      , c = e.precision
                      , h = e.shouldOhlc
                      , d = e.shouldFormatBigNumber
                      , p = e.visible
                      , g = e.minValue
                      , y = e.maxValue
                      , f = e.styles
                      , x = e.extendData
                      , _ = e.regenerateFigures
                      , w = e.createTooltipDataSource
                      , L = e.draw;
                    this.name = t,
                    this.shortName = i ?? t,
                    this.series = o ?? a.IndicatorSeries.Normal,
                    this.precision = c ?? 4,
                    this.calcParams = s ?? [],
                    this.figures = u ?? [],
                    this.shouldOhlc = h != null && h,
                    this.shouldFormatBigNumber = d != null && d,
                    this.visible = p == null || p,
                    this.minValue = g ?? null,
                    this.maxValue = y ?? null,
                    this.styles = f ?? null,
                    this.extendData = x,
                    this.regenerateFigures = _ ?? null,
                    this.createTooltipDataSource = w ?? null,
                    this.draw = L ?? null
                }
                return r.prototype.setShortName = function(e) {
                    return this.shortName !== e && (this.shortName = e,
                    !0)
                }
                ,
                r.prototype.setSeries = function(e) {
                    return this.series !== e && (this.series = e,
                    !0)
                }
                ,
                r.prototype.setPrecision = function(e, t) {
                    var i = t != null && t
                      , o = Math.floor(e);
                    return !(o === this.precision || 0 > e || i && (!i || this._precisionFlag)) && (this.precision = o,
                    i || (this._precisionFlag = !0),
                    !0)
                }
                ,
                r.prototype.setCalcParams = function(e) {
                    var t, i;
                    return this.calcParams = e,
                    this.figures = (i = (t = this.regenerateFigures) === null || t === void 0 ? void 0 : t.call(this, e)) !== null && i !== void 0 ? i : this.figures,
                    !0
                }
                ,
                r.prototype.setShouldOhlc = function(e) {
                    return this.shouldOhlc !== e && (this.shouldOhlc = e,
                    !0)
                }
                ,
                r.prototype.setShouldFormatBigNumber = function(e) {
                    return this.shouldFormatBigNumber !== e && (this.shouldFormatBigNumber = e,
                    !0)
                }
                ,
                r.prototype.setVisible = function(e) {
                    return this.visible !== e && (this.visible = e,
                    !0)
                }
                ,
                r.prototype.setStyles = function(e) {
                    return this.styles !== e && (this.styles = e,
                    !0)
                }
                ,
                r.prototype.setExtendData = function(e) {
                    return this.extendData !== e && (this.extendData = e,
                    !0)
                }
                ,
                r.prototype.setFigures = function(e) {
                    return this.figures !== e && (this.figures = e,
                    !0)
                }
                ,
                r.prototype.setMinValue = function(e) {
                    return this.minValue !== e && (this.minValue = e,
                    !0)
                }
                ,
                r.prototype.setMaxValue = function(e) {
                    return this.maxValue !== e && (this.maxValue = e,
                    !0)
                }
                ,
                r.prototype.setRegenerateFigures = function(e) {
                    return this.regenerateFigures !== e && (this.regenerateFigures = e,
                    !0)
                }
                ,
                r.prototype.setCreateTooltipDataSource = function(e) {
                    return this.createTooltipDataSource !== e && (this.createTooltipDataSource = e,
                    !0)
                }
                ,
                r.prototype.setDraw = function(e) {
                    return this.draw !== e && (this.draw = e,
                    !0)
                }
                ,
                r.prototype.calcIndicator = function(e) {
                    return dt(this, void 0, void 0, function() {
                        var t;
                        return pt(this, function(i) {
                            switch (i.label) {
                            case 0:
                                return i.trys.push([0, 2, , 3]),
                                [4, this.calc(e, this)];
                            case 1:
                                return t = i.sent(),
                                this.result = t,
                                [2, !0];
                            case 2:
                                return i.sent(),
                                [2, !1];
                            case 3:
                                return [2]
                            }
                        })
                    })
                }
                ,
                r.extend = function(e) {
                    return function(t) {
                        function i() {
                            return t.call(this, e) || this
                        }
                        return ee(i, t),
                        i.prototype.calc = function(o, s) {
                            return e.calc(o, s)
                        }
                        ,
                        i
                    }(r)
                }
                ,
                r
            }()
              , d1 = {
                name: "AVP",
                shortName: "AVP",
                series: a.IndicatorSeries.Price,
                precision: 2,
                figures: [{
                    key: "avp",
                    title: "AVP: ",
                    type: "line"
                }],
                calc: function(r) {
                    var e = 0
                      , t = 0;
                    return r.map(function(i) {
                        var o, s, u = {}, c = (o = i == null ? void 0 : i.turnover) !== null && o !== void 0 ? o : 0, h = (s = i == null ? void 0 : i.volume) !== null && s !== void 0 ? s : 0;
                        return e += c,
                        (t += h) !== 0 && (u.avp = e / t),
                        u
                    })
                }
            }
              , p1 = {
                name: "EMA",
                shortName: "EMA",
                series: a.IndicatorSeries.Price,
                calcParams: [6, 12, 20],
                precision: 2,
                shouldOhlc: !0,
                figures: [{
                    key: "ema1",
                    title: "EMA6: ",
                    type: "line"
                }, {
                    key: "ema2",
                    title: "EMA12: ",
                    type: "line"
                }, {
                    key: "ema3",
                    title: "EMA20: ",
                    type: "line"
                }],
                regenerateFigures: function(r) {
                    return r.map(function(e, t) {
                        return {
                            key: "ema".concat(t + 1),
                            title: "EMA".concat(e, ": "),
                            type: "line"
                        }
                    })
                },
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = e.figures
                      , o = 0
                      , s = [];
                    return r.map(function(u, c) {
                        var h = {}
                          , d = u.close;
                        return o += d,
                        t.forEach(function(p, g) {
                            p - 1 > c || (s[g] = c > p - 1 ? (2 * d + (p - 1) * s[g]) / (p + 1) : o / p,
                            h[i[g].key] = s[g])
                        }),
                        h
                    })
                }
            }
              , g1 = {
                name: "MA",
                shortName: "MA",
                series: a.IndicatorSeries.Price,
                calcParams: [5, 10, 30, 60],
                precision: 2,
                shouldOhlc: !0,
                figures: [{
                    key: "ma5",
                    title: "MA5: ",
                    type: "line"
                }, {
                    key: "ma10",
                    title: "MA10: ",
                    type: "line"
                }, {
                    key: "ma30",
                    title: "MA30: ",
                    type: "line"
                }, {
                    key: "ma60",
                    title: "MA60: ",
                    type: "line"
                }],
                regenerateFigures: function(r) {
                    return r.map(function(e, t) {
                        return {
                            key: "ma".concat(t + 1),
                            title: "MA".concat(e, ": "),
                            type: "line"
                        }
                    })
                },
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = e.figures
                      , o = [];
                    return r.map(function(s, u) {
                        var c = {}
                          , h = s.close;
                        return t.forEach(function(d, p) {
                            var g;
                            o[p] = ((g = o[p]) !== null && g !== void 0 ? g : 0) + h,
                            d - 1 > u || (c[i[p].key] = o[p] / d,
                            o[p] -= r[u - (d - 1)].close)
                        }),
                        c
                    })
                }
            }
              , v1 = {
                name: "RSI",
                shortName: "RSI",
                calcParams: [6, 12, 24],
                figures: [{
                    key: "rsi1",
                    title: "RSI1: ",
                    type: "line"
                }, {
                    key: "rsi2",
                    title: "RSI2: ",
                    type: "line"
                }, {
                    key: "rsi3",
                    title: "RSI3: ",
                    type: "line"
                }],
                regenerateFigures: function(r) {
                    return r.map(function(e, t) {
                        var i = t + 1;
                        return {
                            key: "rsi".concat(i),
                            title: "RSI".concat(i, ": "),
                            type: "line"
                        }
                    })
                },
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = e.figures
                      , o = []
                      , s = [];
                    return r.map(function(u, c) {
                        var h, d = {}, p = ((h = r[c - 1]) !== null && h !== void 0 ? h : u).close, g = u.close - p;
                        return t.forEach(function(y, f) {
                            var x, _, w;
                            if (g > 0 ? o[f] = ((x = o[f]) !== null && x !== void 0 ? x : 0) + g : s[f] = ((_ = s[f]) !== null && _ !== void 0 ? _ : 0) + Math.abs(g),
                            c >= y - 1) {
                                d[i[f].key] = s[f] !== 0 ? 100 - 100 / (1 + o[f] / s[f]) : 0;
                                var L = r[c - (y - 1)]
                                  , M = (w = r[c - y]) !== null && w !== void 0 ? w : L
                                  , k = L.close - M.close;
                                k > 0 ? o[f] -= k : s[f] -= Math.abs(k)
                            }
                        }),
                        d
                    })
                }
            }
              , f1 = {
                name: "VOL",
                shortName: "VOL",
                series: a.IndicatorSeries.Volume,
                calcParams: [5, 10, 20],
                shouldFormatBigNumber: !0,
                precision: 0,
                minValue: 0,
                figures: [{
                    key: "ma1",
                    title: "MA5: ",
                    type: "line"
                }, {
                    key: "ma2",
                    title: "MA10: ",
                    type: "line"
                }, {
                    key: "ma3",
                    title: "MA20: ",
                    type: "line"
                }, {
                    key: "volume",
                    title: "VOLUME: ",
                    type: "bar",
                    baseValue: 0,
                    styles: function(r, e, t) {
                        var i = r.current.kLineData;
                        return {
                            color: i.close > i.open ? ue(e.styles, "bars[0].upColor", t.bars[0].upColor) : i.open > i.close ? ue(e.styles, "bars[0].downColor", t.bars[0].downColor) : ue(e.styles, "bars[0].noChangeColor", t.bars[0].noChangeColor)
                        }
                    }
                }],
                regenerateFigures: function(r) {
                    var e = r.map(function(t, i) {
                        return {
                            key: "ma".concat(i + 1),
                            title: "MA".concat(t, ": "),
                            type: "line"
                        }
                    });
                    return e.push({
                        key: "volume",
                        title: "VOLUME: ",
                        type: "bar",
                        baseValue: 0,
                        styles: function(t, i, o) {
                            var s = t.current.kLineData;
                            return {
                                color: s.close > s.open ? ue(i.styles, "bars[0].upColor", o.bars[0].upColor) : s.open > s.close ? ue(i.styles, "bars[0].downColor", o.bars[0].downColor) : ue(i.styles, "bars[0].noChangeColor", o.bars[0].noChangeColor)
                            }
                        }
                    }),
                    e
                },
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = e.figures
                      , o = [];
                    return r.map(function(s, u) {
                        var c, h = (c = s.volume) !== null && c !== void 0 ? c : 0, d = {
                            volume: h
                        };
                        return t.forEach(function(p, g) {
                            var y, f;
                            o[g] = ((y = o[g]) !== null && y !== void 0 ? y : 0) + h,
                            p - 1 > u || (d[i[g].key] = o[g] / p,
                            o[g] -= (f = r[u - (p - 1)].volume) !== null && f !== void 0 ? f : 0)
                        }),
                        d
                    })
                }
            }
              , y1 = {
                name: "WR",
                shortName: "WR",
                calcParams: [6, 10, 14],
                figures: [{
                    key: "wr1",
                    title: "WR1: ",
                    type: "line"
                }, {
                    key: "wr2",
                    title: "WR2: ",
                    type: "line"
                }, {
                    key: "wr3",
                    title: "WR3: ",
                    type: "line"
                }],
                regenerateFigures: function(r) {
                    return r.map(function(e, t) {
                        return {
                            key: "wr".concat(t + 1),
                            title: "WR".concat(t + 1, ": "),
                            type: "line"
                        }
                    })
                },
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = e.figures;
                    return r.map(function(o, s) {
                        var u = {}
                          , c = o.close;
                        return t.forEach(function(h, d) {
                            var p = h - 1;
                            if (s >= p) {
                                var g = Ct(r.slice(s - p, s + 1), "high", "low")
                                  , y = g[0]
                                  , f = y - g[1];
                                u[i[d].key] = f === 0 ? 0 : (c - y) / f * 100
                            }
                        }),
                        u
                    })
                }
            }
              , Cn = {}
              , m1 = [d1, {
                name: "AO",
                shortName: "AO",
                calcParams: [5, 34],
                figures: [{
                    key: "ao",
                    title: "AO: ",
                    type: "bar",
                    baseValue: 0,
                    styles: function(r, e, t) {
                        var i, o, s, u, c = (o = (i = r.prev.indicatorData) === null || i === void 0 ? void 0 : i.ao) !== null && o !== void 0 ? o : Number.MIN_SAFE_INTEGER, h = (u = (s = r.current.indicatorData) === null || s === void 0 ? void 0 : s.ao) !== null && u !== void 0 ? u : Number.MIN_SAFE_INTEGER;
                        return {
                            color: h > c ? ue(e.styles, "bars[0].upColor", t.bars[0].upColor) : ue(e.styles, "bars[0].downColor", t.bars[0].downColor),
                            style: h > c ? "stroke" : "fill"
                        }
                    }
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = Math.max(t[0], t[1])
                      , o = 0
                      , s = 0
                      , u = 0
                      , c = 0;
                    return r.map(function(h, d) {
                        var p, g = {}, y = (h.low + h.high) / 2;
                        return o += y,
                        s += y,
                        d < t[0] - 1 || (u = o / t[0],
                        o -= ((p = r[d - (t[0] - 1)]).low + p.high) / 2),
                        d < t[1] - 1 || (c = s / t[1],
                        s -= ((p = r[d - (t[1] - 1)]).low + p.high) / 2),
                        i - 1 > d || (g.ao = u - c),
                        g
                    })
                }
            }, {
                name: "BIAS",
                shortName: "BIAS",
                calcParams: [6, 12, 24],
                figures: [{
                    key: "bias1",
                    title: "BIAS6: ",
                    type: "line"
                }, {
                    key: "bias2",
                    title: "BIAS12: ",
                    type: "line"
                }, {
                    key: "bias3",
                    title: "BIAS24: ",
                    type: "line"
                }],
                regenerateFigures: function(r) {
                    return r.map(function(e, t) {
                        return {
                            key: "bias".concat(t + 1),
                            title: "BIAS".concat(e, ": "),
                            type: "line"
                        }
                    })
                },
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = e.figures
                      , o = [];
                    return r.map(function(s, u) {
                        var c = {}
                          , h = s.close;
                        return t.forEach(function(d, p) {
                            var g;
                            if (o[p] = ((g = o[p]) !== null && g !== void 0 ? g : 0) + h,
                            u >= d - 1) {
                                var y = o[p] / t[p];
                                c[i[p].key] = (h - y) / y * 100,
                                o[p] -= r[u - (d - 1)].close
                            }
                        }),
                        c
                    })
                }
            }, {
                name: "BOLL",
                shortName: "BOLL",
                series: a.IndicatorSeries.Price,
                calcParams: [20, 2],
                precision: 2,
                shouldOhlc: !0,
                figures: [{
                    key: "up",
                    title: "UP: ",
                    type: "line"
                }, {
                    key: "mid",
                    title: "MID: ",
                    type: "line"
                }, {
                    key: "dn",
                    title: "DN: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = t[0] - 1
                      , o = 0;
                    return r.map(function(s, u) {
                        var c = {};
                        if (o += s.close,
                        u >= i) {
                            c.mid = o / t[0];
                            var h = function(d, p) {
                                var g = d.length
                                  , y = 0;
                                return d.forEach(function(f) {
                                    var x = f.close - p;
                                    y += x * x
                                }),
                                Math.sqrt((y = Math.abs(y)) / g)
                            }(r.slice(u - i, u + 1), c.mid);
                            c.up = c.mid + t[1] * h,
                            c.dn = c.mid - t[1] * h,
                            o -= r[u - i].close
                        }
                        return c
                    })
                }
            }, {
                name: "BRAR",
                shortName: "BRAR",
                calcParams: [26],
                figures: [{
                    key: "br",
                    title: "BR: ",
                    type: "line"
                }, {
                    key: "ar",
                    title: "AR: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0
                      , s = 0
                      , u = 0;
                    return r.map(function(c, h) {
                        var d, p, g = {}, y = c.high, f = c.low, x = c.open, _ = ((d = r[h - 1]) !== null && d !== void 0 ? d : c).close;
                        if (s += y - x,
                        u += x - f,
                        i += y - _,
                        o += _ - f,
                        h >= t[0] - 1) {
                            g.ar = u !== 0 ? s / u * 100 : 0,
                            g.br = o !== 0 ? i / o * 100 : 0;
                            var w = r[h - (t[0] - 1)]
                              , L = w.high
                              , M = w.low
                              , k = w.open
                              , E = ((p = r[h - t[0]]) !== null && p !== void 0 ? p : r[h - (t[0] - 1)]).close;
                            i -= L - E,
                            o -= E - M,
                            s -= L - k,
                            u -= k - M
                        }
                        return g
                    })
                }
            }, {
                name: "BBI",
                shortName: "BBI",
                series: a.IndicatorSeries.Price,
                precision: 2,
                calcParams: [3, 6, 12, 24],
                shouldOhlc: !0,
                figures: [{
                    key: "bbi",
                    title: "BBI: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = Math.max.apply(Math, Te([], q(t), !1))
                      , o = []
                      , s = [];
                    return r.map(function(u, c) {
                        var h = {}
                          , d = u.close;
                        if (t.forEach(function(g, y) {
                            var f;
                            o[y] = ((f = o[y]) !== null && f !== void 0 ? f : 0) + d,
                            g - 1 > c || (s[y] = o[y] / g,
                            o[y] -= r[c - (g - 1)].close)
                        }),
                        c >= i - 1) {
                            var p = 0;
                            s.forEach(function(g) {
                                p += g
                            }),
                            h.bbi = p / 4
                        }
                        return h
                    })
                }
            }, {
                name: "CCI",
                shortName: "CCI",
                calcParams: [20],
                figures: [{
                    key: "cci",
                    title: "CCI: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = t[0] - 1
                      , o = 0
                      , s = [];
                    return r.map(function(u, c) {
                        var h = {}
                          , d = (u.high + u.low + u.close) / 3;
                        if (o += d,
                        s.push(d),
                        c >= i) {
                            var p = o / t[0]
                              , g = s.slice(c - i, c + 1)
                              , y = 0;
                            g.forEach(function(x) {
                                y += Math.abs(x - p)
                            });
                            var f = y / t[0];
                            h.cci = f !== 0 ? (d - p) / f / .015 : 0,
                            o -= (r[c - i].high + r[c - i].low + r[c - i].close) / 3
                        }
                        return h
                    })
                }
            }, {
                name: "CR",
                shortName: "CR",
                calcParams: [26, 10, 20, 40, 60],
                figures: [{
                    key: "cr",
                    title: "CR: ",
                    type: "line"
                }, {
                    key: "ma1",
                    title: "MA1: ",
                    type: "line"
                }, {
                    key: "ma2",
                    title: "MA2: ",
                    type: "line"
                }, {
                    key: "ma3",
                    title: "MA3: ",
                    type: "line"
                }, {
                    key: "ma4",
                    title: "MA4: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = Math.ceil(t[1] / 2.5 + 1)
                      , o = Math.ceil(t[2] / 2.5 + 1)
                      , s = Math.ceil(t[3] / 2.5 + 1)
                      , u = Math.ceil(t[4] / 2.5 + 1)
                      , c = 0
                      , h = []
                      , d = 0
                      , p = []
                      , g = 0
                      , y = []
                      , f = 0
                      , x = []
                      , _ = [];
                    return r.forEach(function(w, L) {
                        var M, k, E, D, F, N = {}, O = (M = r[L - 1]) !== null && M !== void 0 ? M : w, z = (O.high + O.close + O.low + O.open) / 4, U = Math.max(0, w.high - z), $ = Math.max(0, z - w.low);
                        t[0] - 1 > L || (N.cr = $ !== 0 ? U / $ * 100 : 0,
                        c += N.cr,
                        d += N.cr,
                        g += N.cr,
                        f += N.cr,
                        t[0] + t[1] - 2 > L || (h.push(c / t[1]),
                        t[0] + t[1] + i - 3 > L || (N.ma1 = h[h.length - 1 - i]),
                        c -= (k = _[L - (t[1] - 1)].cr) !== null && k !== void 0 ? k : 0),
                        t[0] + t[2] - 2 > L || (p.push(d / t[2]),
                        t[0] + t[2] + o - 3 > L || (N.ma2 = p[p.length - 1 - o]),
                        d -= (E = _[L - (t[2] - 1)].cr) !== null && E !== void 0 ? E : 0),
                        t[0] + t[3] - 2 > L || (y.push(g / t[3]),
                        t[0] + t[3] + s - 3 > L || (N.ma3 = y[y.length - 1 - s]),
                        g -= (D = _[L - (t[3] - 1)].cr) !== null && D !== void 0 ? D : 0),
                        t[0] + t[4] - 2 > L || (x.push(f / t[4]),
                        t[0] + t[4] + u - 3 > L || (N.ma4 = x[x.length - 1 - u]),
                        f -= (F = _[L - (t[4] - 1)].cr) !== null && F !== void 0 ? F : 0)),
                        _.push(N)
                    }),
                    _
                }
            }, {
                name: "DMA",
                shortName: "DMA",
                calcParams: [10, 50, 10],
                figures: [{
                    key: "dma",
                    title: "DMA: ",
                    type: "line"
                }, {
                    key: "ama",
                    title: "AMA: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = Math.max(t[0], t[1])
                      , o = 0
                      , s = 0
                      , u = 0
                      , c = [];
                    return r.forEach(function(h, d) {
                        var p, g = {}, y = h.close;
                        o += y,
                        s += y;
                        var f = 0
                          , x = 0;
                        if (t[0] - 1 > d || (f = o / t[0],
                        o -= r[d - (t[0] - 1)].close),
                        t[1] - 1 > d || (x = s / t[1],
                        s -= r[d - (t[1] - 1)].close),
                        d >= i - 1) {
                            var _ = f - x;
                            g.dma = _,
                            u += _,
                            i + t[2] - 2 > d || (g.ama = u / t[2],
                            u -= (p = c[d - (t[2] - 1)].dma) !== null && p !== void 0 ? p : 0)
                        }
                        c.push(g)
                    }),
                    c
                }
            }, {
                name: "DMI",
                shortName: "DMI",
                calcParams: [14, 6],
                figures: [{
                    key: "pdi",
                    title: "PDI: ",
                    type: "line"
                }, {
                    key: "mdi",
                    title: "MDI: ",
                    type: "line"
                }, {
                    key: "adx",
                    title: "ADX: ",
                    type: "line"
                }, {
                    key: "adxr",
                    title: "ADXR: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0
                      , s = 0
                      , u = 0
                      , c = 0
                      , h = 0
                      , d = 0
                      , p = 0
                      , g = [];
                    return r.forEach(function(y, f) {
                        var x, _, w = {}, L = (x = r[f - 1]) !== null && x !== void 0 ? x : y, M = L.close, k = y.high, E = y.low, D = k - E, F = Math.abs(k - M), N = Math.abs(M - E), O = k - L.high, z = L.low - E, U = Math.max(Math.max(D, F), N), $ = O > 0 && O > z ? O : 0, se = z > 0 && z > O ? z : 0;
                        if (i += U,
                        o += $,
                        s += se,
                        f >= t[0] - 1) {
                            f > t[0] - 1 ? (u = u - u / t[0] + U,
                            c = c - c / t[0] + $,
                            h = h - h / t[0] + se) : (u = i,
                            c = o,
                            h = s);
                            var te = 0
                              , ne = 0;
                            u !== 0 && (te = 100 * c / u,
                            ne = 100 * h / u),
                            w.pdi = te,
                            w.mdi = ne;
                            var ye = 0;
                            ne + te !== 0 && (ye = Math.abs(ne - te) / (ne + te) * 100),
                            d += ye,
                            2 * t[0] - 2 > f || (w.adx = p = f > 2 * t[0] - 2 ? (p * (t[0] - 1) + ye) / t[0] : d / t[0],
                            2 * t[0] + t[1] - 3 > f || (w.adxr = (((_ = g[f - (t[1] - 1)].adx) !== null && _ !== void 0 ? _ : 0) + p) / 2))
                        }
                        g.push(w)
                    }),
                    g
                }
            }, {
                name: "EMV",
                shortName: "EMV",
                calcParams: [14, 9],
                figures: [{
                    key: "emv",
                    title: "EMV: ",
                    type: "line"
                }, {
                    key: "maEmv",
                    title: "MAEMV: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0
                      , s = []
                      , u = [];
                    return r.forEach(function(c, h) {
                        var d, p, g, y = {}, f = (d = r[h - 1]) !== null && d !== void 0 ? d : c, x = c.high, _ = c.low, w = (p = c.turnover) !== null && p !== void 0 ? p : 0, L = 0;
                        w !== 0 && (L = ((x + _) / 2 - (f.high + f.low) / 2) * (x - _) / w),
                        s.push(L),
                        i += L,
                        t[0] - 1 > h || (y.emv = i,
                        i -= s[h - (t[0] - 1)],
                        o += y.emv,
                        t[0] + t[1] - 2 > h || (y.maEmv = o / t[1],
                        o -= (g = u[h - (t[1] - 1)].emv) !== null && g !== void 0 ? g : 0)),
                        u.push(y)
                    }),
                    u
                }
            }, p1, {
                name: "MTM",
                shortName: "MTM",
                calcParams: [12, 6],
                figures: [{
                    key: "mtm",
                    title: "MTM: ",
                    type: "line"
                }, {
                    key: "maMtm",
                    title: "MAMTM: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = [];
                    return r.forEach(function(s, u) {
                        var c, h = {};
                        u < t[0] || (h.mtm = s.close - r[u - t[0]].close,
                        i += h.mtm,
                        t[0] + t[1] - 1 > u || (h.maMtm = i / t[1],
                        i -= (c = o[u - (t[1] - 1)].mtm) !== null && c !== void 0 ? c : 0)),
                        o.push(h)
                    }),
                    o
                }
            }, g1, {
                name: "MACD",
                shortName: "MACD",
                calcParams: [12, 26, 9],
                figures: [{
                    key: "dif",
                    title: "DIF: ",
                    type: "line"
                }, {
                    key: "dea",
                    title: "DEA: ",
                    type: "line"
                }, {
                    key: "macd",
                    title: "MACD: ",
                    type: "bar",
                    baseValue: 0,
                    styles: function(r, e, t) {
                        var i, o, s, u, c = (o = (i = r.prev.indicatorData) === null || i === void 0 ? void 0 : i.macd) !== null && o !== void 0 ? o : Number.MIN_SAFE_INTEGER, h = (u = (s = r.current.indicatorData) === null || s === void 0 ? void 0 : s.macd) !== null && u !== void 0 ? u : Number.MIN_SAFE_INTEGER;
                        return {
                            style: h > c ? "stroke" : "fill",
                            color: h > 0 ? ue(e.styles, "bars[0].upColor", t.bars[0].upColor) : 0 > h ? ue(e.styles, "bars[0].downColor", t.bars[0].downColor) : ue(e.styles, "bars[0].noChangeColor", t.bars[0].noChangeColor)
                        }
                    }
                }],
                calc: function(r, e) {
                    var t, i, o = e.calcParams, s = 0, u = 0, c = 0, h = 0, d = Math.max(o[0], o[1]);
                    return r.map(function(p, g) {
                        var y = {}
                          , f = p.close;
                        return s += f,
                        o[0] - 1 > g || (t = g > o[0] - 1 ? (2 * f + (o[0] - 1) * t) / (o[0] + 1) : s / o[0]),
                        o[1] - 1 > g || (i = g > o[1] - 1 ? (2 * f + (o[1] - 1) * i) / (o[1] + 1) : s / o[1]),
                        d - 1 > g || (y.dif = u = t - i,
                        c += u,
                        d + o[2] - 2 > g || (y.macd = 2 * (u - (h = g > d + o[2] - 2 ? (2 * u + h * (o[2] - 1)) / (o[2] + 1) : c / o[2])),
                        y.dea = h)),
                        y
                    })
                }
            }, {
                name: "OBV",
                shortName: "OBV",
                calcParams: [30],
                figures: [{
                    key: "obv",
                    title: "OBV: ",
                    type: "line"
                }, {
                    key: "maObv",
                    title: "MAOBV: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0
                      , s = [];
                    return r.forEach(function(u, c) {
                        var h, d, p, g, y = (h = r[c - 1]) !== null && h !== void 0 ? h : u;
                        y.close > u.close ? o -= (d = u.volume) !== null && d !== void 0 ? d : 0 : u.close > y.close && (o += (p = u.volume) !== null && p !== void 0 ? p : 0);
                        var f = {
                            obv: o
                        };
                        i += o,
                        t[0] - 1 > c || (f.maObv = i / t[0],
                        i -= (g = s[c - (t[0] - 1)].obv) !== null && g !== void 0 ? g : 0),
                        s.push(f)
                    }),
                    s
                }
            }, {
                name: "PVT",
                shortName: "PVT",
                figures: [{
                    key: "pvt",
                    title: "PVT: ",
                    type: "line"
                }],
                calc: function(r) {
                    var e = 0;
                    return r.map(function(t, i) {
                        var o, s, u = {}, c = (o = t.volume) !== null && o !== void 0 ? o : 1, h = ((s = r[i - 1]) !== null && s !== void 0 ? s : t).close, d = 0, p = h * c;
                        return p !== 0 && (d = (t.close - h) / p),
                        u.pvt = e += d,
                        u
                    })
                }
            }, {
                name: "PSY",
                shortName: "PSY",
                calcParams: [12, 6],
                figures: [{
                    key: "psy",
                    title: "PSY: ",
                    type: "line"
                }, {
                    key: "maPsy",
                    title: "MAPSY: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0
                      , s = []
                      , u = [];
                    return r.forEach(function(c, h) {
                        var d, p, g = {}, y = ((d = r[h - 1]) !== null && d !== void 0 ? d : c).close, f = c.close - y > 0 ? 1 : 0;
                        s.push(f),
                        i += f,
                        t[0] - 1 > h || (g.psy = i / t[0] * 100,
                        o += g.psy,
                        t[0] + t[1] - 2 > h || (g.maPsy = o / t[1],
                        o -= (p = u[h - (t[1] - 1)].psy) !== null && p !== void 0 ? p : 0),
                        i -= s[h - (t[0] - 1)]),
                        u.push(g)
                    }),
                    u
                }
            }, {
                name: "ROC",
                shortName: "ROC",
                calcParams: [12, 6],
                figures: [{
                    key: "roc",
                    title: "ROC: ",
                    type: "line"
                }, {
                    key: "maRoc",
                    title: "MAROC: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = []
                      , o = 0;
                    return r.forEach(function(s, u) {
                        var c, h, d = {};
                        if (u >= t[0] - 1) {
                            var p = ((c = r[u - t[0]]) !== null && c !== void 0 ? c : r[u - (t[0] - 1)]).close;
                            d.roc = p !== 0 ? (s.close - p) / p * 100 : 0,
                            o += d.roc,
                            t[0] - 1 + t[1] - 1 > u || (d.maRoc = o / t[1],
                            o -= (h = i[u - (t[1] - 1)].roc) !== null && h !== void 0 ? h : 0)
                        }
                        i.push(d)
                    }),
                    i
                }
            }, v1, {
                name: "SMA",
                shortName: "SMA",
                series: a.IndicatorSeries.Price,
                calcParams: [12, 2],
                precision: 2,
                figures: [{
                    key: "sma",
                    title: "SMA: ",
                    type: "line"
                }],
                shouldOhlc: !0,
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0;
                    return r.map(function(s, u) {
                        var c = {}
                          , h = s.close;
                        return i += h,
                        t[0] - 1 > u || (c.sma = o = u > t[0] - 1 ? (h * t[1] + o * (t[0] - t[1] + 1)) / (t[0] + 1) : i / t[0]),
                        c
                    })
                }
            }, {
                name: "KDJ",
                shortName: "KDJ",
                calcParams: [9, 3, 3],
                figures: [{
                    key: "k",
                    title: "K: ",
                    type: "line"
                }, {
                    key: "d",
                    title: "D: ",
                    type: "line"
                }, {
                    key: "j",
                    title: "J: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = [];
                    return r.forEach(function(o, s) {
                        var u, c, h, d, p = {}, g = o.close;
                        if (s >= t[0] - 1) {
                            var y = Ct(r.slice(s - (t[0] - 1), s + 1), "high", "low")
                              , f = y[1]
                              , x = y[0] - f;
                            p.k = ((t[1] - 1) * ((c = (u = i[s - 1]) === null || u === void 0 ? void 0 : u.k) !== null && c !== void 0 ? c : 50) + (g - f) / (x === 0 ? 1 : x) * 100) / t[1],
                            p.d = ((t[2] - 1) * ((d = (h = i[s - 1]) === null || h === void 0 ? void 0 : h.d) !== null && d !== void 0 ? d : 50) + p.k) / t[2],
                            p.j = 3 * p.k - 2 * p.d
                        }
                        i.push(p)
                    }),
                    i
                }
            }, {
                name: "SAR",
                shortName: "SAR",
                series: a.IndicatorSeries.Price,
                calcParams: [2, 2, 20],
                precision: 2,
                shouldOhlc: !0,
                figures: [{
                    key: "sar",
                    title: "SAR: ",
                    type: "circle",
                    styles: function(r, e, t) {
                        var i, o, s = r.current, u = (o = (i = s.indicatorData) === null || i === void 0 ? void 0 : i.sar) !== null && o !== void 0 ? o : Number.MIN_SAFE_INTEGER, c = s.kLineData;
                        return {
                            color: ((c == null ? void 0 : c.high) + (c == null ? void 0 : c.low)) / 2 > u ? ue(e.styles, "circles[0].upColor", t.circles[0].upColor) : ue(e.styles, "circles[0].downColor", t.circles[0].downColor)
                        }
                    }
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = t[0] / 100
                      , o = t[1] / 100
                      , s = t[2] / 100
                      , u = i
                      , c = -100
                      , h = !1
                      , d = 0;
                    return r.map(function(p, g) {
                        var y = d
                          , f = p.high
                          , x = p.low;
                        if (h) {
                            (c === -100 || f > c) && (c = f,
                            u = Math.min(u + o, s)),
                            d = y + u * (c - y);
                            var _ = Math.min(r[Math.max(1, g) - 1].low, x);
                            d > p.low ? (d = c,
                            u = i,
                            c = -100,
                            h = !h) : d > _ && (d = _)
                        } else {
                            (c === -100 || c > x) && (c = x,
                            u = Math.min(u + o, s)),
                            d = y + u * (c - y);
                            var w = Math.max(r[Math.max(1, g) - 1].high, f);
                            p.high > d ? (d = c,
                            u = 0,
                            c = -100,
                            h = !h) : w > d && (d = w)
                        }
                        return {
                            sar: d
                        }
                    })
                }
            }, {
                name: "TRIX",
                shortName: "TRIX",
                calcParams: [12, 9],
                figures: [{
                    key: "trix",
                    title: "TRIX: ",
                    type: "line"
                }, {
                    key: "maTrix",
                    title: "MATRIX: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t, i, o, s = e.calcParams, u = 0, c = 0, h = 0, d = 0, p = [];
                    return r.forEach(function(g, y) {
                        var f, x = {}, _ = g.close;
                        if (u += _,
                        y >= s[0] - 1 && (c += t = y > s[0] - 1 ? (2 * _ + (s[0] - 1) * t) / (s[0] + 1) : u / s[0],
                        y >= 2 * s[0] - 2 && (h += i = y > 2 * s[0] - 2 ? (2 * t + (s[0] - 1) * i) / (s[0] + 1) : c / s[0],
                        y >= 3 * s[0] - 3))) {
                            var w = void 0
                              , L = 0;
                            y > 3 * s[0] - 3 ? L = ((w = (2 * i + (s[0] - 1) * o) / (s[0] + 1)) - o) / o * 100 : w = h / s[0],
                            o = w,
                            x.trix = L,
                            d += L,
                            3 * s[0] + s[1] - 4 > y || (x.maTrix = d / s[1],
                            d -= (f = p[y - (s[1] - 1)].trix) !== null && f !== void 0 ? f : 0)
                        }
                        p.push(x)
                    }),
                    p
                }
            }, f1, {
                name: "VR",
                shortName: "VR",
                calcParams: [26, 6],
                figures: [{
                    key: "vr",
                    title: "VR: ",
                    type: "line"
                }, {
                    key: "maVr",
                    title: "MAVR: ",
                    type: "line"
                }],
                calc: function(r, e) {
                    var t = e.calcParams
                      , i = 0
                      , o = 0
                      , s = 0
                      , u = 0
                      , c = [];
                    return r.forEach(function(h, d) {
                        var p, g, y, f, x, _ = {}, w = h.close, L = ((p = r[d - 1]) !== null && p !== void 0 ? p : h).close, M = (g = h.volume) !== null && g !== void 0 ? g : 0;
                        if (w > L ? i += M : L > w ? o += M : s += M,
                        d >= t[0] - 1) {
                            var k = s / 2;
                            _.vr = o + k === 0 ? 0 : (i + k) / (o + k) * 100,
                            u += _.vr,
                            t[0] + t[1] - 2 > d || (_.maVr = u / t[1],
                            u -= (y = c[d - (t[1] - 1)].vr) !== null && y !== void 0 ? y : 0);
                            var E = r[d - (t[0] - 1)]
                              , D = (f = r[d - t[0]]) !== null && f !== void 0 ? f : E
                              , F = E.close
                              , N = (x = E.volume) !== null && x !== void 0 ? x : 0;
                            F > D.close ? i -= N : D.close > F ? o -= N : s -= N
                        }
                        c.push(_)
                    }),
                    c
                }
            }, y1];
            function Qi(r) {
                var e;
                return (e = Cn[r]) !== null && e !== void 0 ? e : null
            }
            m1.forEach(function(r) {
                Cn[r.name] = Wi.extend(r)
            });
            var Jn, C1 = function() {
                function r(e) {
                    this._instances = new Map,
                    this._chartStore = e
                }
                return r.prototype._overrideInstance = function(e, t) {
                    var i = t.shortName
                      , o = t.series
                      , s = t.calcParams
                      , u = t.precision
                      , c = t.figures
                      , h = t.minValue
                      , d = t.maxValue
                      , p = t.shouldOhlc
                      , g = t.shouldFormatBigNumber
                      , y = t.visible
                      , f = t.styles
                      , x = t.extendData
                      , _ = t.regenerateFigures
                      , w = t.createTooltipDataSource
                      , L = t.draw
                      , M = t.calc
                      , k = !1;
                    i !== void 0 && e.setShortName(i) && (k = !0),
                    o !== void 0 && e.setSeries(o) && (k = !0);
                    var E = !1;
                    return s !== void 0 && e.setCalcParams(s) && (k = !0,
                    E = !0),
                    c !== void 0 && e.setFigures(c) && (k = !0,
                    E = !0),
                    h !== void 0 && e.setMinValue(h) && (k = !0),
                    d !== void 0 && e.setMinValue(d) && (k = !0),
                    u !== void 0 && e.setPrecision(u) && (k = !0),
                    p !== void 0 && e.setShouldOhlc(p) && (k = !0),
                    g !== void 0 && e.setShouldFormatBigNumber(g) && (k = !0),
                    y !== void 0 && e.setVisible(y) && (k = !0),
                    f !== void 0 && e.setStyles(f) && (k = !0),
                    x !== void 0 && e.setExtendData(x) && (k = !0,
                    E = !0),
                    _ !== void 0 && e.setRegenerateFigures(_) && (k = !0),
                    w !== void 0 && e.setCreateTooltipDataSource(w) && (k = !0),
                    L !== void 0 && e.setDraw(L) && (k = !0),
                    M !== void 0 && (e.calc = M,
                    E = !0),
                    [k, E]
                }
                ,
                r.prototype.addInstance = function(e, t, i) {
                    var o;
                    return dt(this, void 0, void 0, function() {
                        var s, u, c, h;
                        return pt(this, function(d) {
                            switch (d.label) {
                            case 0:
                                return s = e.name,
                                u = this._instances.get(t),
                                (o = u == null ? void 0 : u.has(s)) !== null && o !== void 0 && o ? [4, Promise.reject(Error("Duplicate indicators."))] : [3, 2];
                            case 1:
                            case 3:
                                return [2, d.sent()];
                            case 2:
                                return u === void 0 && (u = new Map,
                                this._instances.set(t, u)),
                                c = Qi(s),
                                h = new c,
                                this._overrideInstance(h, e),
                                i || u.clear(),
                                u.set(s, h),
                                [4, h.calcIndicator(this._chartStore.getDataList())]
                            }
                        })
                    })
                }
                ,
                r.prototype.getInstances = function(e) {
                    var t;
                    return (t = this._instances.get(e)) !== null && t !== void 0 ? t : new Map
                }
                ,
                r.prototype.removeInstance = function(e, t) {
                    var i = !1
                      , o = this._instances.get(e);
                    return o !== void 0 && (t !== void 0 ? o.has(t) && (o.delete(t),
                    i = !0) : (o.clear(),
                    i = !0),
                    o.size === 0 && this._instances.delete(e)),
                    i
                }
                ,
                r.prototype.hasInstances = function(e) {
                    return this._instances.has(e)
                }
                ,
                r.prototype.calcInstance = function(e, t) {
                    var i;
                    return dt(this, void 0, void 0, function() {
                        var o, s, u, c = this;
                        return pt(this, function(h) {
                            switch (h.label) {
                            case 0:
                                return o = [],
                                e !== void 0 ? t !== void 0 ? (s = this._instances.get(t),
                                (i = s == null ? void 0 : s.has(e)) !== null && i !== void 0 && i && (u = s == null ? void 0 : s.get(e),
                                o.push(u.calcIndicator(this._chartStore.getDataList())))) : this._instances.forEach(function(d) {
                                    if (d.has(e)) {
                                        var p = d == null ? void 0 : d.get(e);
                                        o.push(p.calcIndicator(c._chartStore.getDataList()))
                                    }
                                }) : this._instances.forEach(function(d) {
                                    d.forEach(function(p) {
                                        o.push(p.calcIndicator(c._chartStore.getDataList()))
                                    })
                                }),
                                [4, Promise.all(o)];
                            case 1:
                                return [2, h.sent().includes(!0)]
                            }
                        })
                    })
                }
                ,
                r.prototype.getInstanceByPaneId = function(e, t) {
                    var i;
                    if (e !== void 0) {
                        var o = this._instances.get(e);
                        return t !== void 0 ? (i = o == null ? void 0 : o.get(t)) !== null && i !== void 0 ? i : null : o ?? null
                    }
                    return this._instances
                }
                ,
                r.prototype.setSeriesPrecision = function(e) {
                    this._instances.forEach(function(t) {
                        t.forEach(function(i) {
                            i.series === a.IndicatorSeries.Price && i.setPrecision(e.price, !0),
                            i.series === a.IndicatorSeries.Volume && i.setPrecision(e.volume, !0)
                        })
                    })
                }
                ,
                r.prototype.override = function(e, t) {
                    return dt(this, void 0, void 0, function() {
                        var i, o, s, u, c, h, d = this;
                        return pt(this, function(p) {
                            switch (p.label) {
                            case 0:
                                return i = e.name,
                                o = new Map,
                                t !== null ? (s = this._instances.get(t)) !== void 0 && o.set(t, s) : o = this._instances,
                                u = !1,
                                c = [],
                                o.forEach(function(g) {
                                    var y = g.get(i);
                                    if (y !== void 0) {
                                        var f = d._overrideInstance(y, e);
                                        f[1] ? c.push(y.calcIndicator(d._chartStore.getDataList())) : f[0] && (u = !0)
                                    }
                                }),
                                [4, Promise.all(c)];
                            case 1:
                                return h = p.sent(),
                                [2, [u, h.includes(!0)]]
                            }
                        })
                    })
                }
                ,
                r
            }(), x1 = function() {
                function r(e) {
                    this._crosshair = {},
                    this._chartStore = e
                }
                return r.prototype.set = function(e, t) {
                    var i, o, s = this._chartStore.getDataList(), u = e ?? {}, c = s[o = u.x !== void 0 ? 0 > (i = this._chartStore.getTimeScaleStore().coordinateToDataIndex(u.x)) ? 0 : i > s.length - 1 ? s.length - 1 : i : i = s.length - 1], h = this._chartStore.getTimeScaleStore().dataIndexToCoordinate(i), d = this._crosshair.x, p = this._crosshair.y, g = this._crosshair.paneId;
                    return this._crosshair = X(X({}, u), {
                        realX: h,
                        kLineData: c,
                        realDataIndex: i,
                        dataIndex: o
                    }),
                    d === u.x && p === u.y && g === u.paneId || (c !== null && this._chartStore.getChart().crosshairChange(this._crosshair),
                    t != null && t || this._chartStore.getChart().updatePane(1)),
                    this
                }
                ,
                r.prototype.recalculate = function(e) {
                    this.set(this._crosshair, e)
                }
                ,
                r.prototype.get = function() {
                    return this._crosshair
                }
                ,
                r
            }(), _1 = function() {
                function r() {
                    this._activeIconInfo = null
                }
                return r.prototype.setActiveIconInfo = function(e) {
                    this._activeIconInfo = e ?? null
                }
                ,
                r.prototype.getActiveIconInfo = function() {
                    return this._activeIconInfo
                }
                ,
                r
            }();
            a.OverlayMode = void 0,
            (Jn = a.OverlayMode || (a.OverlayMode = {})).Normal = "normal",
            Jn.WeakMagnet = "weak_magnet",
            Jn.StrongMagnet = "strong_magnet";
            var an = "overlay_figure_"
              , Ki = function() {
                function r(e) {
                    this.currentStep = 1,
                    this.points = [],
                    this._prevPressedPoint = null,
                    this._prevPressedPoints = [];
                    var t = e.mode
                      , i = e.extendData
                      , o = e.styles
                      , s = e.totalStep
                      , u = e.lock
                      , c = e.visible
                      , h = e.needDefaultPointFigure
                      , d = e.needDefaultXAxisFigure
                      , p = e.needDefaultYAxisFigure
                      , g = e.createPointFigures
                      , y = e.createXAxisFigures
                      , f = e.createYAxisFigures
                      , x = e.performEventPressedMove
                      , _ = e.performEventMoveForDrawing
                      , w = e.onDrawStart
                      , L = e.onDrawing
                      , M = e.onDrawEnd
                      , k = e.onClick
                      , E = e.onRightClick
                      , D = e.onPressedMoveStart
                      , F = e.onPressedMoving
                      , N = e.onPressedMoveEnd
                      , O = e.onMouseEnter
                      , z = e.onMouseLeave
                      , U = e.onRemoved
                      , $ = e.onSelected
                      , se = e.onDeselected;
                    this.name = e.name,
                    this.totalStep = s === void 0 || 2 > s ? 1 : s,
                    this.lock = u != null && u,
                    this.visible = c == null || c,
                    this.needDefaultPointFigure = h != null && h,
                    this.needDefaultXAxisFigure = d != null && d,
                    this.needDefaultYAxisFigure = p != null && p,
                    this.mode = t ?? a.OverlayMode.Normal,
                    this.extendData = i,
                    this.styles = o ?? null,
                    this.createPointFigures = g ?? null,
                    this.createXAxisFigures = y ?? null,
                    this.createYAxisFigures = f ?? null,
                    this.performEventPressedMove = x ?? null,
                    this.performEventMoveForDrawing = _ ?? null,
                    this.onDrawStart = w ?? null,
                    this.onDrawing = L ?? null,
                    this.onDrawEnd = M ?? null,
                    this.onClick = k ?? null,
                    this.onRightClick = E ?? null,
                    this.onPressedMoveStart = D ?? null,
                    this.onPressedMoving = F ?? null,
                    this.onPressedMoveEnd = N ?? null,
                    this.onMouseEnter = O ?? null,
                    this.onMouseLeave = z ?? null,
                    this.onRemoved = U ?? null,
                    this.onSelected = $ ?? null,
                    this.onDeselected = se ?? null
                }
                return r.prototype.setId = function(e) {
                    return this.id === void 0 && (this.id = e,
                    !0)
                }
                ,
                r.prototype.setGroupId = function(e) {
                    return this.groupId === void 0 && (this.groupId = e,
                    !0)
                }
                ,
                r.prototype.setExtendData = function(e) {
                    return e !== this.extendData && (this.extendData = e,
                    !0)
                }
                ,
                r.prototype.setStyles = function(e) {
                    return e !== this.styles && (this.styles = e,
                    !0)
                }
                ,
                r.prototype.setPoints = function(e) {
                    if (e.length > 0) {
                        var t = void 0;
                        if (this.points = Te([], q(e), !1),
                        this.totalStep - 1 > e.length ? (this.currentStep = e.length + 1,
                        t = e.length) : (this.currentStep = -1,
                        t = this.totalStep - 1),
                        this.performEventMoveForDrawing !== null)
                            for (var i = 0; t > i; i++)
                                this.performEventMoveForDrawing({
                                    currentStep: i + 2,
                                    mode: this.mode,
                                    points: this.points,
                                    performPointIndex: i,
                                    performPoint: this.points[i]
                                });
                        return this.currentStep === -1 && this.performEventPressedMove !== null && this.performEventPressedMove({
                            currentStep: this.currentStep,
                            mode: this.mode,
                            points: this.points,
                            performPointIndex: this.points.length - 1,
                            performPoint: this.points[this.points.length - 1]
                        }),
                        !0
                    }
                    return !1
                }
                ,
                r.prototype.setLock = function(e) {
                    return this.lock !== e && (this.lock = e,
                    !0)
                }
                ,
                r.prototype.setVisible = function(e) {
                    return this.visible !== e && (this.visible = e,
                    !0)
                }
                ,
                r.prototype.setMode = function(e) {
                    return e !== this.mode && (this.mode = e,
                    !0)
                }
                ,
                r.prototype.setOnDrawStartCallback = function(e) {
                    return this.onDrawStart !== e && (this.onDrawStart = e,
                    !0)
                }
                ,
                r.prototype.setOnDrawingCallback = function(e) {
                    return this.onDrawing !== e && (this.onDrawing = e,
                    !0)
                }
                ,
                r.prototype.setOnDrawEndCallback = function(e) {
                    return this.onDrawEnd !== e && (this.onDrawEnd = e,
                    !0)
                }
                ,
                r.prototype.setOnClickCallback = function(e) {
                    return this.onClick !== e && (this.onClick = e,
                    !0)
                }
                ,
                r.prototype.setOnRightClickCallback = function(e) {
                    return this.onRightClick !== e && (this.onRightClick = e,
                    !0)
                }
                ,
                r.prototype.setOnPressedMoveStartCallback = function(e) {
                    return this.onPressedMoveStart !== e && (this.onPressedMoveStart = e,
                    !0)
                }
                ,
                r.prototype.setOnPressedMovingCallback = function(e) {
                    return this.onPressedMoving !== e && (this.onPressedMoving = e,
                    !0)
                }
                ,
                r.prototype.setOnPressedMoveEndCallback = function(e) {
                    return this.onPressedMoveEnd !== e && (this.onPressedMoveEnd = e,
                    !0)
                }
                ,
                r.prototype.setOnMouseEnterCallback = function(e) {
                    return this.onMouseEnter !== e && (this.onMouseEnter = e,
                    !0)
                }
                ,
                r.prototype.setOnMouseLeaveCallback = function(e) {
                    return this.onMouseLeave !== e && (this.onMouseLeave = e,
                    !0)
                }
                ,
                r.prototype.setOnRemovedCallback = function(e) {
                    return this.onRemoved !== e && (this.onRemoved = e,
                    !0)
                }
                ,
                r.prototype.setOnSelectedCallback = function(e) {
                    return this.onSelected !== e && (this.onSelected = e,
                    !0)
                }
                ,
                r.prototype.setOnDeselectedCallback = function(e) {
                    return this.onDeselected !== e && (this.onDeselected = e,
                    !0)
                }
                ,
                r.prototype.nextStep = function() {
                    this.currentStep === this.totalStep - 1 ? this.currentStep = -1 : this.currentStep++
                }
                ,
                r.prototype.forceComplete = function() {
                    this.currentStep = -1
                }
                ,
                r.prototype.isDrawing = function() {
                    return this.currentStep !== -1
                }
                ,
                r.prototype.isStart = function() {
                    return this.currentStep === 1
                }
                ,
                r.prototype.eventMoveForDrawing = function(e) {
                    var t, i = this.currentStep - 1, o = {};
                    e.timestamp !== void 0 && (o.timestamp = e.timestamp),
                    e.dataIndex !== void 0 && (o.dataIndex = e.dataIndex),
                    e.value !== void 0 && (o.value = e.value),
                    this.points[i] = o,
                    (t = this.performEventMoveForDrawing) === null || t === void 0 || t.call(this, {
                        currentStep: this.currentStep,
                        mode: this.mode,
                        points: this.points,
                        performPointIndex: i,
                        performPoint: o
                    })
                }
                ,
                r.prototype.eventPressedPointMove = function(e, t) {
                    var i;
                    e.dataIndex !== void 0 && (this.points[t].dataIndex = e.dataIndex,
                    this.points[t].timestamp = e.timestamp),
                    e.value !== void 0 && (this.points[t].value = e.value),
                    (i = this.performEventPressedMove) === null || i === void 0 || i.call(this, {
                        currentStep: this.currentStep,
                        points: this.points,
                        mode: this.mode,
                        performPointIndex: t,
                        performPoint: this.points[t]
                    })
                }
                ,
                r.prototype.startPressedMove = function(e) {
                    this._prevPressedPoint = X({}, e),
                    this._prevPressedPoints = m(this.points)
                }
                ,
                r.prototype.eventPressedOtherMove = function(e, t) {
                    var i, o;
                    this._prevPressedPoint !== null && (e.dataIndex !== void 0 && this._prevPressedPoint.dataIndex !== void 0 && (i = e.dataIndex - this._prevPressedPoint.dataIndex),
                    e.value !== void 0 && this._prevPressedPoint.value !== void 0 && (o = e.value - this._prevPressedPoint.value),
                    this.points = this._prevPressedPoints.map(function(s) {
                        var u;
                        s.dataIndex === void 0 && s.timestamp !== void 0 && (s.dataIndex = t.timestampToDataIndex(s.timestamp));
                        var c = X({}, s);
                        return i !== void 0 && s.dataIndex !== void 0 && (c.dataIndex = s.dataIndex + i,
                        c.timestamp = (u = t.dataIndexToTimestamp(c.dataIndex)) !== null && u !== void 0 ? u : void 0),
                        o !== void 0 && s.value !== void 0 && (c.value = s.value + o),
                        c
                    }))
                }
                ,
                r.extend = function(e) {
                    return function(t) {
                        function i() {
                            return t.call(this, e) || this
                        }
                        return ee(i, t),
                        i
                    }(r)
                }
                ,
                r
            }();
            function Zi(r, e) {
                return Math.sqrt(Math.pow(r.x + e.x, 2) + Math.pow(r.y + e.y, 2))
            }
            function b1(r) {
                var e = Zi(r[0], r[1])
                  , t = e + Zi(r[1], r[2])
                  , i = [r[2].x - r[0].x, r[2].y - r[0].y];
                return [{
                    x: r[1].x - .5 * i[0] * e / t,
                    y: r[1].y - .5 * i[1] * e / t
                }, {
                    x: r[1].x + .5 * i[0] * e / t,
                    y: r[1].y + .5 * i[1] * e / t
                }]
            }
            function Hi(r, e) {
                var t = e.coordinates;
                if (t.length > 1)
                    for (var i = 1; t.length > i; i++) {
                        var o = t[i - 1]
                          , s = t[i];
                        if (o.x === s.x) {
                            if (4 > Math.abs(o.y - r.y) + Math.abs(s.y - r.y) - Math.abs(o.y - s.y) && 2 > Math.abs(r.x - o.x))
                                return !0
                        } else {
                            var u = xn(o, s)
                              , c = qn(u, r)
                              , h = Math.abs(c - r.y);
                            if (4 > Math.abs(o.x - r.x) + Math.abs(s.x - r.x) - Math.abs(o.x - s.x) && 4 > h * h / (u[0] * u[0] + 1))
                                return !0
                        }
                    }
                return !1
            }
            function qn(r, e) {
                return r != null ? e.x * r[0] + r[1] : e.y
            }
            function sn(r, e, t) {
                return qn(xn(r, e), t)
            }
            function xn(r, e) {
                var t = r.x - e.x;
                if (t !== 0) {
                    var i = (r.y - e.y) / t;
                    return [i, r.y - i * r.x]
                }
                return null
            }
            function Ui(r, e, t) {
                var i = e.coordinates
                  , o = i.length;
                if (o > 1) {
                    var s = t.style
                      , u = s === void 0 ? a.LineType.Solid : s
                      , c = t.smooth
                      , h = t.size
                      , d = t.color
                      , p = d === void 0 ? "currentColor" : d
                      , g = t.dashedValue
                      , y = g === void 0 ? [2, 2] : g;
                    if (r.lineWidth = h === void 0 ? 1 : h,
                    r.strokeStyle = p,
                    r.setLineDash(u === a.LineType.Dashed ? y : []),
                    r.beginPath(),
                    r.moveTo(i[0].x, i[0].y),
                    c != null && c) {
                        for (var f = [], x = 1; o - 1 > x; x++)
                            f = f.concat(b1([i[x - 1], i[x], i[x + 1]]));
                        r.quadraticCurveTo(f[0].x, f[0].y, i[1].x, i[1].y);
                        for (var _ = 2; o - 1 > _; _++)
                            r.bezierCurveTo(f[2 * (_ - 2) + 1].x, f[2 * (_ - 2) + 1].y, f[2 * (_ - 1)].x, f[2 * (_ - 1)].y, i[_].x, i[_].y);
                        r.quadraticCurveTo(f[2 * (_ - 2) + 1].x, f[2 * (_ - 2) + 1].y, i[_].x, i[_].y)
                    } else
                        for (_ = 1; i.length > _; _++)
                            r.lineTo(i[_].x, i[_].y);
                    r.stroke(),
                    r.closePath()
                }
            }
            var w1 = {
                name: "line",
                checkEventOn: Hi,
                draw: function(r, e, t) {
                    Ui(r, e, t)
                }
            };
            function Xi(r, e, t) {
                var i = t ?? 0
                  , o = [];
                if (r.length > 1)
                    if (r[0].x === r[1].x) {
                        var s = e.height;
                        if (o.push({
                            coordinates: [{
                                x: r[0].x,
                                y: 0
                            }, {
                                x: r[0].x,
                                y: s
                            }]
                        }),
                        r.length > 2) {
                            o.push({
                                coordinates: [{
                                    x: r[2].x,
                                    y: 0
                                }, {
                                    x: r[2].x,
                                    y: s
                                }]
                            });
                            for (var u = r[0].x - r[2].x, c = 0; i > c; c++) {
                                var h = u * (c + 1);
                                o.push({
                                    coordinates: [{
                                        x: r[0].x + h,
                                        y: 0
                                    }, {
                                        x: r[0].x + h,
                                        y: s
                                    }]
                                })
                            }
                        }
                    } else {
                        var d = e.width
                          , p = xn(r[0], r[1])
                          , g = p[0]
                          , y = p[1];
                        if (o.push({
                            coordinates: [{
                                x: 0,
                                y: 0 * g + y
                            }, {
                                x: d,
                                y: d * g + y
                            }]
                        }),
                        r.length > 2) {
                            var f = r[2].y - g * r[2].x;
                            for (o.push({
                                coordinates: [{
                                    x: 0,
                                    y: 0 * g + f
                                }, {
                                    x: d,
                                    y: d * g + f
                                }]
                            }),
                            u = y - f,
                            c = 0; i > c; c++) {
                                var x = y + u * (c + 1);
                                o.push({
                                    coordinates: [{
                                        x: 0,
                                        y: 0 * g + x
                                    }, {
                                        x: d,
                                        y: d * g + x
                                    }]
                                })
                            }
                        }
                    }
                return o
            }
            function S1(r, e) {
                if (r.length > 1) {
                    var t = void 0;
                    return t = r[0].x === r[1].x && r[0].y !== r[1].y ? r[1].y > r[0].y ? {
                        x: r[0].x,
                        y: e.height
                    } : {
                        x: r[0].x,
                        y: 0
                    } : r[0].x > r[1].x ? {
                        x: 0,
                        y: sn(r[0], r[1], {
                            x: 0,
                            y: r[0].y
                        })
                    } : {
                        x: e.width,
                        y: sn(r[0], r[1], {
                            x: e.width,
                            y: r[0].y
                        })
                    },
                    {
                        coordinates: [r[0], t]
                    }
                }
                return []
            }
            var L1 = {
                name: "simpleAnnotation",
                totalStep: 2,
                createPointFigures: function(r) {
                    var e, t, i = r.overlay, o = r.coordinates;
                    T(i.extendData) && (t = S(i.extendData) ? i.extendData(i) : (e = i.extendData) !== null && e !== void 0 ? e : "");
                    var s = o[0].x
                      , u = o[0].y - 6
                      , c = u - 50
                      , h = c - 5;
                    return [{
                        type: "line",
                        attrs: {
                            coordinates: [{
                                x: s,
                                y: u
                            }, {
                                x: s,
                                y: c
                            }]
                        },
                        ignoreEvent: !0
                    }, {
                        type: "polygon",
                        attrs: {
                            coordinates: [{
                                x: s,
                                y: c
                            }, {
                                x: s - 4,
                                y: h
                            }, {
                                x: s + 4,
                                y: h
                            }]
                        },
                        ignoreEvent: !0
                    }, {
                        type: "rectText",
                        attrs: {
                            x: s,
                            y: h,
                            text: t ?? "",
                            align: "center",
                            baseline: "bottom"
                        },
                        ignoreEvent: !0
                    }]
                }
            }
              , k1 = {
                name: "simpleTag",
                totalStep: 2,
                createPointFigures: function(r) {
                    var e = r.coordinates;
                    return {
                        type: "line",
                        attrs: {
                            coordinates: [{
                                x: 0,
                                y: e[0].y
                            }, {
                                x: r.bounding.width,
                                y: e[0].y
                            }]
                        },
                        ignoreEvent: !0
                    }
                },
                createYAxisFigures: function(r) {
                    var e, t, i, o, s, u = r.overlay, c = r.coordinates, h = r.bounding, d = r.yAxis, p = r.precision;
                    return (e = d == null ? void 0 : d.isFromZero()) !== null && e !== void 0 && e ? (i = "left",
                    o = 0) : (i = "right",
                    o = h.width),
                    T(u.extendData) && (s = S(u.extendData) ? u.extendData(u) : (t = u.extendData) !== null && t !== void 0 ? t : ""),
                    T(s) || u.points[0].value === void 0 || (s = G(u.points[0].value, p.price)),
                    {
                        type: "rectText",
                        attrs: {
                            x: o,
                            y: c[0].y,
                            text: s ?? "",
                            align: i,
                            baseline: "middle"
                        }
                    }
                }
            }
              , _n = {};
            function Gi(r) {
                var e;
                return (e = _n[r]) !== null && e !== void 0 ? e : null
            }
            function $i(r) {
                var e = {
                    width: 0,
                    height: 0,
                    left: 0,
                    right: 0,
                    top: 0,
                    bottom: 0
                };
                return r !== void 0 && v(e, r),
                e
            }
            [{
                name: "fibonacciLine",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates
                      , t = r.precision
                      , i = r.thousandsSeparator
                      , o = r.overlay.points;
                    if (e.length > 0) {
                        var s = []
                          , u = []
                          , c = r.bounding.width;
                        if (e.length > 1 && o[0].value !== void 0 && o[1].value !== void 0) {
                            var h = e[0].y - e[1].y
                              , d = o[0].value - o[1].value;
                            [1, .786, .618, .5, .382, .236, 0].forEach(function(p) {
                                var g, y = e[1].y + h * p, f = Ce((((g = o[1].value) !== null && g !== void 0 ? g : 0) + d * p).toFixed(t.price), i);
                                s.push({
                                    coordinates: [{
                                        x: 0,
                                        y
                                    }, {
                                        x: c,
                                        y
                                    }]
                                }),
                                u.push({
                                    x: 0,
                                    y,
                                    text: "".concat(f, " (").concat((100 * p).toFixed(1), "%)"),
                                    baseline: "bottom"
                                })
                            })
                        }
                        return [{
                            type: "line",
                            attrs: s
                        }, {
                            type: "text",
                            isCheckEvent: !1,
                            attrs: u
                        }]
                    }
                    return []
                }
            }, {
                name: "horizontalRayLine",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates
                      , t = {
                        x: 0,
                        y: e[0].y
                    };
                    return e[1] !== void 0 && e[1].x > e[0].x && (t.x = r.bounding.width),
                    [{
                        type: "line",
                        attrs: {
                            coordinates: [e[0], t]
                        }
                    }]
                },
                performEventPressedMove: function(r) {
                    var e = r.points
                      , t = r.performPoint;
                    e[0].value = t.value,
                    e[1].value = t.value
                },
                performEventMoveForDrawing: function(r) {
                    r.currentStep === 2 && (r.points[0].value = r.performPoint.value)
                }
            }, {
                name: "horizontalSegment",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates
                      , t = [];
                    return e.length === 2 && t.push({
                        coordinates: e
                    }),
                    [{
                        type: "line",
                        attrs: t
                    }]
                },
                performEventPressedMove: function(r) {
                    var e = r.points
                      , t = r.performPoint;
                    e[0].value = t.value,
                    e[1].value = t.value
                },
                performEventMoveForDrawing: function(r) {
                    r.currentStep === 2 && (r.points[0].value = r.performPoint.value)
                }
            }, {
                name: "horizontalStraightLine",
                totalStep: 2,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates;
                    return [{
                        type: "line",
                        attrs: {
                            coordinates: [{
                                x: 0,
                                y: e[0].y
                            }, {
                                x: r.bounding.width,
                                y: e[0].y
                            }]
                        }
                    }]
                }
            }, {
                name: "parallelStraightLine",
                totalStep: 4,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    return [{
                        type: "line",
                        attrs: Xi(r.coordinates, r.bounding)
                    }]
                }
            }, {
                name: "priceChannelLine",
                totalStep: 4,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    return [{
                        type: "line",
                        attrs: Xi(r.coordinates, r.bounding, 1)
                    }]
                }
            }, {
                name: "priceLine",
                totalStep: 2,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates
                      , t = r.thousandsSeparator
                      , i = r.overlay.points[0].value;
                    return [{
                        type: "line",
                        attrs: {
                            coordinates: [e[0], {
                                x: r.bounding.width,
                                y: e[0].y
                            }]
                        }
                    }, {
                        type: "text",
                        ignoreEvent: !0,
                        attrs: {
                            x: e[0].x,
                            y: e[0].y,
                            text: Ce((i === void 0 ? 0 : i).toFixed(r.precision.price), t),
                            baseline: "bottom"
                        }
                    }]
                }
            }, {
                name: "rayLine",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    return [{
                        type: "line",
                        attrs: S1(r.coordinates, r.bounding)
                    }]
                }
            }, {
                name: "segment",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates;
                    return e.length === 2 ? [{
                        type: "line",
                        attrs: {
                            coordinates: e
                        }
                    }] : []
                }
            }, {
                name: "straightLine",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates
                      , t = r.bounding;
                    return e.length === 2 ? e[0].x === e[1].x ? [{
                        type: "line",
                        attrs: {
                            coordinates: [{
                                x: e[0].x,
                                y: 0
                            }, {
                                x: e[0].x,
                                y: t.height
                            }]
                        }
                    }] : [{
                        type: "line",
                        attrs: {
                            coordinates: [{
                                x: 0,
                                y: sn(e[0], e[1], {
                                    x: 0,
                                    y: e[0].y
                                })
                            }, {
                                x: t.width,
                                y: sn(e[0], e[1], {
                                    x: t.width,
                                    y: e[0].y
                                })
                            }]
                        }
                    }] : []
                }
            }, {
                name: "verticalRayLine",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates;
                    if (e.length === 2) {
                        var t = {
                            x: e[0].x,
                            y: 0
                        };
                        return e[1].y > e[0].y && (t.y = r.bounding.height),
                        [{
                            type: "line",
                            attrs: {
                                coordinates: [e[0], t]
                            }
                        }]
                    }
                    return []
                },
                performEventPressedMove: function(r) {
                    var e = r.points
                      , t = r.performPoint;
                    e[0].timestamp = t.timestamp,
                    e[0].dataIndex = t.dataIndex,
                    e[1].timestamp = t.timestamp,
                    e[1].dataIndex = t.dataIndex
                },
                performEventMoveForDrawing: function(r) {
                    var e = r.points
                      , t = r.performPoint;
                    r.currentStep === 2 && (e[0].timestamp = t.timestamp,
                    e[0].dataIndex = t.dataIndex)
                }
            }, {
                name: "verticalSegment",
                totalStep: 3,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates;
                    return e.length === 2 ? [{
                        type: "line",
                        attrs: {
                            coordinates: e
                        }
                    }] : []
                },
                performEventPressedMove: function(r) {
                    var e = r.points
                      , t = r.performPoint;
                    e[0].timestamp = t.timestamp,
                    e[0].dataIndex = t.dataIndex,
                    e[1].timestamp = t.timestamp,
                    e[1].dataIndex = t.dataIndex
                },
                performEventMoveForDrawing: function(r) {
                    var e = r.points
                      , t = r.performPoint;
                    r.currentStep === 2 && (e[0].timestamp = t.timestamp,
                    e[0].dataIndex = t.dataIndex)
                }
            }, {
                name: "verticalStraightLine",
                totalStep: 2,
                needDefaultPointFigure: !0,
                needDefaultXAxisFigure: !0,
                needDefaultYAxisFigure: !0,
                createPointFigures: function(r) {
                    var e = r.coordinates;
                    return [{
                        type: "line",
                        attrs: {
                            coordinates: [{
                                x: e[0].x,
                                y: 0
                            }, {
                                x: e[0].x,
                                y: r.bounding.height
                            }]
                        }
                    }]
                }
            }, L1, k1].forEach(function(r) {
                _n[r.name] = Ki.extend(r)
            });
            var ei = function() {
                function r() {
                    this._children = [],
                    this._callbacks = new Map
                }
                return r.prototype.registerEvent = function(e, t) {
                    return this._callbacks.set(e, t),
                    this
                }
                ,
                r.prototype.onEvent = function(e, t, i) {
                    var o = this._callbacks.get(e);
                    return !(o === void 0 || !this.checkEventOn(t)) && o(t, i)
                }
                ,
                r.prototype.checkEventOn = function(e) {
                    var t, i;
                    try {
                        for (var o = tt(this._children), s = o.next(); !s.done; s = o.next())
                            if (s.value.checkEventOn(e))
                                return !0
                    } catch (u) {
                        t = {
                            error: u
                        }
                    } finally {
                        try {
                            s && !s.done && (i = o.return) && i.call(o)
                        } finally {
                            if (t)
                                throw t.error
                        }
                    }
                    return !1
                }
                ,
                r.prototype.dispatchEvent = function(e, t, i) {
                    var o = this._children.length - 1;
                    if (o > -1) {
                        for (var s = o; s > -1; s--)
                            if (this._children[s].dispatchEvent(e, t, i))
                                return !0
                    }
                    return this.onEvent(e, t, i)
                }
                ,
                r.prototype.addChild = function(e) {
                    return this._children.push(e),
                    this
                }
                ,
                r.prototype.clear = function() {
                    this._children = []
                }
                ,
                r
            }()
              , je = "main"
              , ot = "xAxis"
              , rt = "yAxis"
              , ln = "separator"
              , Ji = function(r) {
                function e(t, i) {
                    var o = r.call(this) || this;
                    return o._bounding = $i(),
                    o._pane = i,
                    o._init(t),
                    o
                }
                return ee(e, r),
                e.prototype._init = function(t) {
                    if (this._container = R("div", this.getContainerStyle()),
                    this.insertBefore()) {
                        var i = t.lastChild;
                        i !== null ? t.insertBefore(this._container, i) : t.appendChild(this._container)
                    } else
                        t.appendChild(this._container);
                    this.initDom(this._container)
                }
                ,
                e.prototype.setBounding = function(t) {
                    return v(this._bounding, t),
                    this
                }
                ,
                e.prototype.getContainer = function() {
                    return this._container
                }
                ,
                e.prototype.getBounding = function() {
                    return this._bounding
                }
                ,
                e.prototype.getPane = function() {
                    return this._pane
                }
                ,
                e.prototype.update = function(t) {
                    this.updateImp(t, this._container, this._bounding)
                }
                ,
                e.prototype.insertBefore = function() {
                    return !1
                }
                ,
                e
            }(ei)
              , M1 = function(r) {
                function e(t, i) {
                    var o, s, u, c = r.call(this, t, i) || this;
                    return c._dragFlag = !1,
                    c._dragStartY = 0,
                    c._topPaneHeight = 0,
                    c._currentPaneHeight = 0,
                    c._pressedMouseMoveEvent = (o = c._pressedTouchMouseMoveEvent,
                    s = 20,
                    u = 0,
                    function() {
                        var h = Date.now();
                        h - u > (s ?? 20) && (o.apply(this, arguments),
                        u = h)
                    }
                    ),
                    c.registerEvent("touchStartEvent", c._mouseDownEvent.bind(c)).registerEvent("touchMoveEvent", c._pressedMouseMoveEvent.bind(c)).registerEvent("touchEndEvent", c._mouseUpEvent.bind(c)).registerEvent("mouseDownEvent", c._mouseDownEvent.bind(c)).registerEvent("mouseUpEvent", c._mouseUpEvent.bind(c)).registerEvent("pressedMouseMoveEvent", c._pressedMouseMoveEvent.bind(c)).registerEvent("mouseEnterEvent", c._mouseEnterEvent.bind(c)).registerEvent("mouseLeaveEvent", c._mouseLeaveEvent.bind(c)),
                    c
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return ln
                }
                ,
                e.prototype.checkEventOn = function() {
                    return !0
                }
                ,
                e.prototype._mouseDownEvent = function(t) {
                    var i, o;
                    this._dragFlag = !0,
                    this._dragStartY = t.pageY;
                    var s = this.getPane();
                    return this._topPaneHeight = (o = (i = s.getTopPane()) === null || i === void 0 ? void 0 : i.getBounding().height) !== null && o !== void 0 ? o : 0,
                    this._currentPaneHeight = s.getBounding().height,
                    !0
                }
                ,
                e.prototype._mouseUpEvent = function() {
                    return this._dragFlag = !1,
                    this._mouseLeaveEvent()
                }
                ,
                e.prototype._pressedTouchMouseMoveEvent = function(t) {
                    var i = t.pageY - this._dragStartY
                      , o = this.getPane()
                      , s = o.getTopPane()
                      , u = 0 > i;
                    if (s !== null && o.getOptions().dragEnabled) {
                        var c = void 0
                          , h = void 0
                          , d = void 0
                          , p = void 0;
                        u ? (c = s,
                        h = o,
                        d = this._topPaneHeight,
                        p = this._currentPaneHeight) : (c = o,
                        h = s,
                        d = this._currentPaneHeight,
                        p = this._topPaneHeight);
                        var g = c.getOptions().minHeight;
                        if (d > g) {
                            var y = Math.max(d - Math.abs(i), g)
                              , f = d - y;
                            c.setBounding({
                                height: y
                            }),
                            h.setBounding({
                                height: p + f
                            });
                            var x = o.getChart();
                            x.getChartStore().getActionStore().execute(a.ActionType.OnPaneDrag, {
                                paneId: o.getId
                            }),
                            x.adjustPaneViewport(!0, !0, !0, !0, !0)
                        }
                    }
                    return !0
                }
                ,
                e.prototype._mouseEnterEvent = function() {
                    var t = this.getPane();
                    if (t.getOptions().dragEnabled) {
                        var i = t.getChart().getStyles().separator;
                        return this._moveDom.style.background = i.activeBackgroundColor,
                        !0
                    }
                    return !1
                }
                ,
                e.prototype._mouseLeaveEvent = function() {
                    return !this._dragFlag && (this._moveDom.style.background = "",
                    !0)
                }
                ,
                e.prototype.getContainerStyle = function() {
                    return {
                        margin: "0",
                        padding: "0",
                        position: "relative",
                        boxSizing: "border-box"
                    }
                }
                ,
                e.prototype.insertBefore = function() {
                    return !0
                }
                ,
                e.prototype.initDom = function(t) {
                    this._moveDom = R("div", {
                        width: "100%",
                        height: "".concat(7, "px"),
                        margin: "0",
                        padding: "0",
                        position: "absolute",
                        top: "-3px",
                        zIndex: "20",
                        boxSizing: "border-box",
                        cursor: "ns-resize"
                    }),
                    t.appendChild(this._moveDom)
                }
                ,
                e.prototype.updateImp = function(t, i, o) {
                    if (t === 4 || t === 2) {
                        var s = this.getPane().getChart().getStyles().separator;
                        this._moveDom.style.top = "".concat(-Math.floor((7 - s.size) / 2), "px"),
                        this._moveDom.style.height = "".concat(7, "px");
                        var u = s.fill;
                        i.style.backgroundColor = s.color,
                        i.style.height = "".concat(s.size, "px"),
                        i.style.marginLeft = "".concat(u ? 0 : o.left, "px"),
                        i.style.width = u ? "100%" : "".concat(o.width, "px")
                    }
                }
                ,
                e.prototype.getImage = function() {
                    var t = this.getPane().getChart().getStyles().separator
                      , i = this.getContainer().offsetWidth
                      , o = t.size
                      , s = R("canvas", {
                        width: "".concat(i, "px"),
                        height: "".concat(o, "px"),
                        boxSizing: "border-box"
                    })
                      , u = s.getContext("2d")
                      , c = j(s);
                    return s.width = i * c,
                    s.height = o * c,
                    u.scale(c, c),
                    u.fillStyle = t.color,
                    u.fillRect(this.getBounding().left, 0, i, o),
                    s
                }
                ,
                e
            }(Ji)
              , We = "candle_pane"
              , A1 = "indcator_pane_"
              , Ze = "xaxis_pane"
              , qi = function() {
                function r(e, t, i, o, s) {
                    this._yAxisWidget = null,
                    this._separatorWidget = null,
                    this._axis = this.createAxisComponent(),
                    this._bounding = $i(),
                    this._options = {
                        minHeight: 30,
                        dragEnabled: !0,
                        gap: {
                            top: .2,
                            bottom: .1
                        }
                    },
                    this._chart = t,
                    this._id = i,
                    this._topPane = o ?? null,
                    this._bottomPane = s ?? null,
                    this._init(e)
                }
                return r.prototype._init = function(e) {
                    this._container = e,
                    this._seriesContiainer = R("div", {
                        width: "100%",
                        margin: "0",
                        padding: "0",
                        position: "relative",
                        overflow: "hidden",
                        boxSizing: "border-box"
                    }),
                    this._separatorWidget = this.createSeparatorWidget(e);
                    var t = e.lastChild;
                    t !== null ? e.insertBefore(this._seriesContiainer, t) : e.appendChild(this._seriesContiainer),
                    this._mainWidget = this.createMainWidget(this._seriesContiainer),
                    this._yAxisWidget = this.creatYAxisWidget(this._seriesContiainer)
                }
                ,
                r.prototype.getContainer = function() {
                    return this._seriesContiainer
                }
                ,
                r.prototype.getId = function() {
                    return this._id
                }
                ,
                r.prototype.setOptions = function(e) {
                    return v(this._options, e),
                    this
                }
                ,
                r.prototype.getOptions = function() {
                    return this._options
                }
                ,
                r.prototype.getChart = function() {
                    return this._chart
                }
                ,
                r.prototype.getAxisComponent = function() {
                    return this._axis
                }
                ,
                r.prototype.setBounding = function(e, t, i) {
                    var o, s, u;
                    v(this._bounding, e);
                    var c = 0;
                    if (this._separatorWidget !== null) {
                        c = this._chart.getStyles().separator.size;
                        var h = X(X({}, e), {
                            height: 7
                        });
                        e.top !== void 0 && (h.top = e.top - Math.floor((7 - c) / 2)),
                        this._separatorWidget.setBounding(h)
                    }
                    var d = {};
                    return e.height !== void 0 && (d.height = e.height - c),
                    e.top !== void 0 && (d.top = e.top + c),
                    this._mainWidget.setBounding(d),
                    (o = this._yAxisWidget) === null || o === void 0 || o.setBounding(d),
                    t !== void 0 && (this._mainWidget.setBounding(t),
                    (s = this._separatorWidget) === null || s === void 0 || s.setBounding(t)),
                    i !== void 0 && ((u = this._yAxisWidget) === null || u === void 0 || u.setBounding(i)),
                    this
                }
                ,
                r.prototype.getTopPane = function() {
                    return this._topPane
                }
                ,
                r.prototype.setTopPane = function(e) {
                    return this._topPane = e,
                    this
                }
                ,
                r.prototype.getBottomPane = function() {
                    return this._bottomPane
                }
                ,
                r.prototype.setBottomPane = function(e) {
                    return this._bottomPane = e,
                    this
                }
                ,
                r.prototype.getBounding = function() {
                    return this._bounding
                }
                ,
                r.prototype.getMainWidget = function() {
                    return this._mainWidget
                }
                ,
                r.prototype.getYAxisWidget = function() {
                    return this._yAxisWidget
                }
                ,
                r.prototype.getSeparatorWidget = function() {
                    return this._separatorWidget
                }
                ,
                r.prototype.update = function(e) {
                    var t, i;
                    this._bounding.width !== this._seriesContiainer.offsetWidth && (this._seriesContiainer.style.width = "".concat(this._bounding.width, "px"));
                    var o = this._mainWidget.getBounding().height;
                    o !== this._seriesContiainer.offsetHeight && (this._seriesContiainer.style.height = "".concat(o, "px"));
                    var s = e ?? 3;
                    this._mainWidget.update(s),
                    (t = this._yAxisWidget) === null || t === void 0 || t.update(s),
                    (i = this._separatorWidget) === null || i === void 0 || i.update(s)
                }
                ,
                r.prototype.getImage = function(e) {
                    var t = this._bounding
                      , i = t.width
                      , o = t.height
                      , s = R("canvas", {
                        width: "".concat(i, "px"),
                        height: "".concat(o, "px"),
                        boxSizing: "border-box"
                    })
                      , u = s.getContext("2d")
                      , c = j(s);
                    s.width = i * c,
                    s.height = o * c,
                    u.scale(c, c);
                    var h = 0;
                    if (this._separatorWidget != null) {
                        var d = this.getChart().getStyles().separator.size;
                        h = d,
                        u.drawImage(this._separatorWidget.getImage(), 0, 0, i, d)
                    }
                    var p = this._mainWidget.getBounding();
                    if (u.drawImage(this._mainWidget.getImage(e), p.left, h, p.width, p.height),
                    this._yAxisWidget !== null) {
                        var g = this._yAxisWidget.getBounding();
                        u.drawImage(this._yAxisWidget.getImage(e), g.left, h, g.width, g.height)
                    }
                    return s
                }
                ,
                r.prototype.destroy = function() {
                    this._container.removeChild(this._seriesContiainer),
                    this._separatorWidget !== null && this._container.removeChild(this._separatorWidget.getContainer())
                }
                ,
                r.prototype.createSeparatorWidget = function(e) {
                    return null
                }
                ,
                r.prototype.creatYAxisWidget = function(e) {
                    return null
                }
                ,
                r
            }()
              , T1 = function() {
                function r(e) {
                    this._instances = new Map,
                    this._progressInstanceInfo = null,
                    this._pressedInstanceInfo = {
                        paneId: "",
                        instance: null,
                        figureType: 0,
                        figureKey: "",
                        figureIndex: -1,
                        attrsIndex: -1
                    },
                    this._hoverInstanceInfo = {
                        paneId: "",
                        instance: null,
                        figureType: 0,
                        figureKey: "",
                        figureIndex: -1,
                        attrsIndex: -1
                    },
                    this._clickInstanceInfo = {
                        paneId: "",
                        instance: null,
                        figureType: 0,
                        figureKey: "",
                        figureIndex: -1,
                        attrsIndex: -1
                    },
                    this._chartStore = e
                }
                return r.prototype._overrideInstance = function(e, t) {
                    var i = t.id
                      , o = t.groupId
                      , s = t.points
                      , u = t.styles
                      , c = t.lock
                      , h = t.visible
                      , d = t.mode
                      , p = t.extendData
                      , g = t.onDrawStart
                      , y = t.onDrawing
                      , f = t.onDrawEnd
                      , x = t.onClick
                      , _ = t.onRightClick
                      , w = t.onPressedMoveStart
                      , L = t.onPressedMoving
                      , M = t.onPressedMoveEnd
                      , k = t.onMouseEnter
                      , E = t.onMouseLeave
                      , D = t.onRemoved
                      , F = t.onSelected
                      , N = t.onDeselected
                      , O = !1;
                    return i !== void 0 && e.setId(i),
                    o !== void 0 && e.setGroupId(o),
                    s !== void 0 && e.setPoints(s) && (O = !0),
                    u !== void 0 && e.setStyles(u) && (O = !0),
                    c !== void 0 && e.setLock(c),
                    h !== void 0 && e.setVisible(h) && (O = !0),
                    d !== void 0 && e.setMode(d),
                    p !== void 0 && e.setExtendData(p) && (O = !0),
                    g !== void 0 && e.setOnDrawStartCallback(g),
                    y !== void 0 && e.setOnDrawingCallback(y),
                    f !== void 0 && e.setOnDrawEndCallback(f),
                    x !== void 0 && e.setOnClickCallback(x),
                    _ !== void 0 && e.setOnRightClickCallback(_),
                    w !== void 0 && e.setOnPressedMoveStartCallback(w),
                    L !== void 0 && e.setOnPressedMovingCallback(L),
                    M !== void 0 && e.setOnPressedMoveEndCallback(M),
                    k !== void 0 && e.setOnMouseEnterCallback(k),
                    E !== void 0 && e.setOnMouseLeaveCallback(E),
                    D !== void 0 && e.setOnRemovedCallback(D),
                    F !== void 0 && e.setOnSelectedCallback(F),
                    N !== void 0 && e.setOnDeselectedCallback(N),
                    O
                }
                ,
                r.prototype.getInstanceById = function(e) {
                    var t, i;
                    try {
                        for (var o = tt(this._instances), s = o.next(); !s.done; s = o.next()) {
                            var u = s.value[1].find(function(c) {
                                return c.id === e
                            });
                            if (u !== void 0)
                                return u
                        }
                    } catch (c) {
                        t = {
                            error: c
                        }
                    } finally {
                        try {
                            s && !s.done && (i = o.return) && i.call(o)
                        } finally {
                            if (t)
                                throw t.error
                        }
                    }
                    return this._progressInstanceInfo !== null && this._progressInstanceInfo.instance.id === e ? this._progressInstanceInfo.instance : null
                }
                ,
                r.prototype.addInstance = function(e, t, i) {
                    var o, s, u, c, h = (o = e.id) !== null && o !== void 0 ? o : V("overlay_");
                    if (this.getInstanceById(h) === null) {
                        var d = new (Gi(e.name))
                          , p = (s = e.groupId) !== null && s !== void 0 ? s : h;
                        return e.id = h,
                        e.groupId = p,
                        this._overrideInstance(d, e),
                        d.isDrawing() ? this._progressInstanceInfo = {
                            paneId: t,
                            instance: d,
                            appointPaneFlag: i
                        } : (this._instances.has(t) || this._instances.set(t, []),
                        (u = this._instances.get(t)) === null || u === void 0 || u.push(d)),
                        (c = d.onDrawStart) === null || c === void 0 || c.call(d, {
                            overlay: d
                        }),
                        this._chartStore.getChart().updatePane(1, t),
                        h
                    }
                    return null
                }
                ,
                r.prototype.getProgressInstanceInfo = function() {
                    return this._progressInstanceInfo
                }
                ,
                r.prototype.progressInstanceComplete = function() {
                    var e;
                    if (this._progressInstanceInfo !== null) {
                        var t = this._progressInstanceInfo
                          , i = t.instance
                          , o = t.paneId;
                        i.isDrawing() || (this._instances.has(o) || this._instances.set(o, []),
                        (e = this._instances.get(o)) === null || e === void 0 || e.push(i),
                        this._progressInstanceInfo = null)
                    }
                }
                ,
                r.prototype.updateProgressInstanceInfo = function(e, t) {
                    this._progressInstanceInfo !== null && (t !== void 0 && t && (this._progressInstanceInfo.appointPaneFlag = t),
                    this._progressInstanceInfo.paneId = e)
                }
                ,
                r.prototype.getInstances = function(e) {
                    var t;
                    if (e === void 0) {
                        var i = [];
                        return this._instances.forEach(function(o) {
                            i = i.concat(o)
                        }),
                        i
                    }
                    return (t = this._instances.get(e)) !== null && t !== void 0 ? t : []
                }
                ,
                r.prototype.override = function(e) {
                    var t = this
                      , i = e.id
                      , o = e.groupId
                      , s = e.name
                      , u = !1;
                    if (i !== void 0) {
                        var c = this.getInstanceById(i);
                        c !== null && this._overrideInstance(c, e) && (u = !0)
                    } else if (this._instances.forEach(function(d) {
                        d.forEach(function(p) {
                            (s !== void 0 && p.name === s || o !== void 0 && p.groupId === o || s === void 0 && o === void 0) && t._overrideInstance(p, e) && (u = !0)
                        })
                    }),
                    this._progressInstanceInfo !== null) {
                        var h = this._progressInstanceInfo.instance;
                        (s !== void 0 && h.name === s || o !== void 0 && h.groupId === o || s === void 0 && o === void 0) && this._overrideInstance(h, e) && (u = !0)
                    }
                    u && this._chartStore.getChart().updatePane(1)
                }
                ,
                r.prototype.removeInstance = function(e) {
                    var t, i, o, s = function(f, x) {
                        if (f.id !== void 0) {
                            if (x.id !== f.id)
                                return !1
                        } else if (f.groupId !== void 0) {
                            if (x.groupId !== f.groupId)
                                return !1
                        } else if (f.name !== void 0 && x.name !== f.name)
                            return !1;
                        return !0
                    }, u = [];
                    if (this._progressInstanceInfo !== null) {
                        var c = this._progressInstanceInfo.instance;
                        (e === void 0 || e !== void 0 && s(e, c)) && (u.push(this._progressInstanceInfo.paneId),
                        (o = c.onRemoved) === null || o === void 0 || o.call(c, {
                            overlay: c
                        }),
                        this._progressInstanceInfo = null)
                    }
                    if (e !== void 0) {
                        var h = new Map
                          , d = function(f) {
                            var x = f[1].filter(function(_) {
                                var w;
                                return !s(e, _) || (u.includes(f[0]) || u.push(f[0]),
                                (w = _.onRemoved) === null || w === void 0 || w.call(_, {
                                    overlay: _
                                }),
                                !1)
                            });
                            x.length > 0 && h.set(f[0], x)
                        };
                        try {
                            for (var p = tt(this._instances), g = p.next(); !g.done; g = p.next())
                                d(g.value)
                        } catch (f) {
                            t = {
                                error: f
                            }
                        } finally {
                            try {
                                g && !g.done && (i = p.return) && i.call(p)
                            } finally {
                                if (t)
                                    throw t.error
                            }
                        }
                        this._instances = h
                    } else
                        this._instances.forEach(function(f, x) {
                            u.push(x),
                            f.forEach(function(_) {
                                var w;
                                (w = _.onRemoved) === null || w === void 0 || w.call(_, {
                                    overlay: _
                                })
                            })
                        }),
                        this._instances.clear();
                    if (u.length > 0) {
                        var y = this._chartStore.getChart();
                        u.forEach(function(f) {
                            y.updatePane(1, f)
                        }),
                        y.updatePane(1, Ze)
                    }
                }
                ,
                r.prototype.setPressedInstanceInfo = function(e) {
                    this._pressedInstanceInfo = e
                }
                ,
                r.prototype.getPressedInstanceInfo = function() {
                    return this._pressedInstanceInfo
                }
                ,
                r.prototype.setHoverInstanceInfo = function(e, t) {
                    var i, o, s, u, c, h = this._hoverInstanceInfo, d = h.instance, p = h.figureKey, g = h.figureIndex;
                    (d == null ? void 0 : d.id) === ((i = e.instance) === null || i === void 0 ? void 0 : i.id) && h.figureType === e.figureType && g === e.figureIndex || (this._hoverInstanceInfo = e,
                    (d == null ? void 0 : d.id) !== ((o = e.instance) === null || o === void 0 ? void 0 : o.id) && ((s = d == null ? void 0 : d.onMouseLeave) === null || s === void 0 || s.call(d, X({
                        overlay: d,
                        figureKey: p,
                        figureIndex: g
                    }, t)),
                    (c = (u = e.instance) === null || u === void 0 ? void 0 : u.onMouseEnter) === null || c === void 0 || c.call(u, X({
                        overlay: e.instance,
                        figureKey: e.figureKey,
                        figureIndex: e.figureIndex
                    }, t))))
                }
                ,
                r.prototype.getHoverInstanceInfo = function() {
                    return this._hoverInstanceInfo
                }
                ,
                r.prototype.setClickInstanceInfo = function(e, t) {
                    var i, o, s, u, c, h, d, p, g, y = this._clickInstanceInfo, f = y.paneId, x = y.instance, _ = y.figureType, w = y.figureKey, L = y.figureIndex;
                    if ((o = (i = e.instance) === null || i === void 0 ? void 0 : i.isDrawing()) !== null && o !== void 0 && o || (u = (s = e.instance) === null || s === void 0 ? void 0 : s.onClick) === null || u === void 0 || u.call(s, X({
                        overlay: e.instance,
                        figureKey: e.figureKey,
                        figureIndex: e.figureIndex
                    }, t)),
                    ((x == null ? void 0 : x.id) !== ((c = e.instance) === null || c === void 0 ? void 0 : c.id) || _ !== e.figureType || L !== e.figureIndex) && (this._clickInstanceInfo = e,
                    (x == null ? void 0 : x.id) !== ((h = e.instance) === null || h === void 0 ? void 0 : h.id))) {
                        (d = x == null ? void 0 : x.onDeselected) === null || d === void 0 || d.call(x, X({
                            overlay: x,
                            figureKey: w,
                            figureIndex: L
                        }, t)),
                        (g = (p = e.instance) === null || p === void 0 ? void 0 : p.onSelected) === null || g === void 0 || g.call(p, X({
                            overlay: e.instance,
                            figureKey: e.figureKey,
                            figureIndex: e.figureIndex
                        }, t));
                        var M = this._chartStore.getChart();
                        M.updatePane(1, e.paneId),
                        f !== e.paneId && M.updatePane(1, f),
                        M.updatePane(1, Ze)
                    }
                }
                ,
                r.prototype.getClickInstanceInfo = function() {
                    return this._clickInstanceInfo
                }
                ,
                r.prototype.isEmpty = function() {
                    return this._instances.size === 0 && this._progressInstanceInfo === null
                }
                ,
                r.prototype.isDrawing = function() {
                    var e, t;
                    return this._progressInstanceInfo !== null && (t = (e = this._progressInstanceInfo) === null || e === void 0 ? void 0 : e.instance.isDrawing()) !== null && t !== void 0 && t
                }
                ,
                r
            }()
              , E1 = function() {
                function r() {
                    this._actions = new Map
                }
                return r.prototype.execute = function(e, t) {
                    var i;
                    (i = this._actions.get(e)) === null || i === void 0 || i.execute(t)
                }
                ,
                r.prototype.subscribe = function(e, t) {
                    var i;
                    this._actions.has(e) || this._actions.set(e, new nt),
                    (i = this._actions.get(e)) === null || i === void 0 || i.subscribe(t)
                }
                ,
                r.prototype.unsubscribe = function(e, t) {
                    var i = this._actions.get(e);
                    i !== void 0 && (i.unsubscribe(t),
                    i.isEmpty() && this._actions.delete(e))
                }
                ,
                r.prototype.has = function(e) {
                    var t = this._actions.get(e);
                    return t !== void 0 && !t.isEmpty()
                }
                ,
                r
            }()
              , eo = {
                light: {
                    grid: {
                        horizontal: {
                            color: "#EDEDED"
                        },
                        vertical: {
                            color: "#EDEDED"
                        }
                    },
                    candle: {
                        priceMark: {
                            high: {
                                color: "#76808F"
                            },
                            low: {
                                color: "#76808F"
                            }
                        },
                        tooltip: {
                            rect: {
                                color: "#FEFEFE",
                                borderColor: "#F2F3F5"
                            },
                            text: {
                                color: "#76808F"
                            }
                        }
                    },
                    indicator: {
                        tooltip: {
                            text: {
                                color: "#76808F"
                            }
                        }
                    },
                    xAxis: {
                        axisLine: {
                            color: "#DDDDDD"
                        },
                        tickText: {
                            color: "#76808F"
                        },
                        tickLine: {
                            color: "#DDDDDD"
                        }
                    },
                    yAxis: {
                        axisLine: {
                            color: "#DDDDDD"
                        },
                        tickText: {
                            color: "#76808F"
                        },
                        tickLine: {
                            color: "#DDDDDD"
                        }
                    },
                    separator: {
                        color: "#DDDDDD"
                    },
                    crosshair: {
                        horizontal: {
                            line: {
                                color: "#76808F"
                            },
                            text: {
                                borderColor: "#686D76",
                                backgroundColor: "#686D76"
                            }
                        },
                        vertical: {
                            line: {
                                color: "#76808F"
                            },
                            text: {
                                borderColor: "#686D76",
                                backgroundColor: "#686D76"
                            }
                        }
                    }
                },
                dark: {
                    grid: {
                        horizontal: {
                            color: "#292929"
                        },
                        vertical: {
                            color: "#292929"
                        }
                    },
                    candle: {
                        priceMark: {
                            high: {
                                color: "#929AA5"
                            },
                            low: {
                                color: "#929AA5"
                            }
                        },
                        tooltip: {
                            rect: {
                                color: "rgba(10, 10, 10, .6)",
                                borderColor: "rgba(10, 10, 10, .6)"
                            },
                            text: {
                                color: "#929AA5"
                            }
                        }
                    },
                    indicator: {
                        tooltip: {
                            text: {
                                color: "#929AA5"
                            }
                        }
                    },
                    xAxis: {
                        axisLine: {
                            color: "#333333"
                        },
                        tickText: {
                            color: "#929AA5"
                        },
                        tickLine: {
                            color: "#333333"
                        }
                    },
                    yAxis: {
                        axisLine: {
                            color: "#333333"
                        },
                        tickText: {
                            color: "#929AA5"
                        },
                        tickLine: {
                            color: "#333333"
                        }
                    },
                    separator: {
                        color: "#333333"
                    },
                    crosshair: {
                        horizontal: {
                            line: {
                                color: "#929AA5"
                            },
                            text: {
                                borderColor: "#373a40",
                                backgroundColor: "#373a40"
                            }
                        },
                        vertical: {
                            line: {
                                color: "#929AA5"
                            },
                            text: {
                                borderColor: "#373a40",
                                backgroundColor: "#373a40"
                            }
                        }
                    }
                }
            };
            function to(r) {
                var e;
                return (e = eo[r]) !== null && e !== void 0 ? e : null
            }
            var I1 = function() {
                function r(e, t) {
                    this._styles = {
                        grid: {
                            show: !0,
                            horizontal: {
                                show: !0,
                                size: 1,
                                color: "#EDEDED",
                                style: a.LineType.Dashed,
                                dashedValue: [2, 2]
                            },
                            vertical: {
                                show: !0,
                                size: 1,
                                color: "#EDEDED",
                                style: a.LineType.Dashed,
                                dashedValue: [2, 2]
                            }
                        },
                        candle: {
                            type: a.CandleType.CandleSolid,
                            bar: {
                                upColor: "#2DC08E",
                                downColor: "#F92855",
                                noChangeColor: "#888888",
                                upBorderColor: "#2DC08E",
                                downBorderColor: "#F92855",
                                noChangeBorderColor: "#888888",
                                upWickColor: "#2DC08E",
                                downWickColor: "#F92855",
                                noChangeWickColor: "#888888"
                            },
                            area: {
                                lineSize: 2,
                                lineColor: "#1677FF",
                                value: "close",
                                backgroundColor: [{
                                    offset: 0,
                                    color: "rgba(22, 119, 255, 0.01)"
                                }, {
                                    offset: 1,
                                    color: "rgba(22, 119, 255, 0.2)"
                                }]
                            },
                            priceMark: {
                                show: !0,
                                high: {
                                    show: !0,
                                    color: "#76808F",
                                    textOffset: 5,
                                    textSize: 10,
                                    textFamily: "Helvetica Neue",
                                    textWeight: "normal"
                                },
                                low: {
                                    show: !0,
                                    color: "#76808F",
                                    textOffset: 5,
                                    textSize: 10,
                                    textFamily: "Helvetica Neue",
                                    textWeight: "normal"
                                },
                                last: {
                                    show: !0,
                                    upColor: "#2DC08E",
                                    downColor: "#F92855",
                                    noChangeColor: "#888888",
                                    line: {
                                        show: !0,
                                        style: a.LineType.Dashed,
                                        dashedValue: [4, 4],
                                        size: 1
                                    },
                                    text: {
                                        show: !0,
                                        style: a.PolygonType.Fill,
                                        size: 12,
                                        paddingLeft: 4,
                                        paddingTop: 4,
                                        paddingRight: 4,
                                        paddingBottom: 4,
                                        borderStyle: a.LineType.Solid,
                                        borderSize: 1,
                                        borderDashedValue: [2, 2],
                                        color: "#FFFFFF",
                                        family: "Helvetica Neue",
                                        weight: "normal",
                                        borderRadius: 2
                                    }
                                }
                            },
                            tooltip: {
                                showRule: a.TooltipShowRule.Always,
                                showType: a.TooltipShowType.Standard,
                                custom: null,
                                defaultValue: "n/a",
                                rect: {
                                    position: le.Fixed,
                                    paddingLeft: 0,
                                    paddingRight: 0,
                                    paddingTop: 0,
                                    paddingBottom: 8,
                                    offsetLeft: 10,
                                    offsetTop: 8,
                                    offsetRight: 10,
                                    offsetBottom: 8,
                                    borderRadius: 4,
                                    borderSize: 1,
                                    borderColor: "#F2F3F5",
                                    color: "#FEFEFE"
                                },
                                text: {
                                    size: 12,
                                    family: "Helvetica Neue",
                                    weight: "normal",
                                    color: "#76808F",
                                    marginLeft: 10,
                                    marginTop: 8,
                                    marginRight: 6,
                                    marginBottom: 0
                                },
                                icons: []
                            }
                        },
                        indicator: {
                            ohlc: {
                                upColor: "rgba(45, 192, 142, .7)",
                                downColor: "rgba(249, 40, 85, .7)",
                                noChangeColor: "#888888"
                            },
                            bars: [{
                                style: a.PolygonType.Fill,
                                borderStyle: a.LineType.Solid,
                                borderSize: 1,
                                borderDashedValue: [2, 2],
                                upColor: "rgba(45, 192, 142, .7)",
                                downColor: "rgba(249, 40, 85, .7)",
                                noChangeColor: "#888888"
                            }],
                            lines: [{
                                style: a.LineType.Solid,
                                smooth: !1,
                                size: 1,
                                dashedValue: [2, 2],
                                color: "#FF9600"
                            }, {
                                style: a.LineType.Solid,
                                smooth: !1,
                                size: 1,
                                dashedValue: [2, 2],
                                color: "#935EBD"
                            }, {
                                style: a.LineType.Solid,
                                smooth: !1,
                                size: 1,
                                dashedValue: [2, 2],
                                color: "#1677FF"
                            }, {
                                style: a.LineType.Solid,
                                smooth: !1,
                                size: 1,
                                dashedValue: [2, 2],
                                color: "#E11D74"
                            }, {
                                style: a.LineType.Solid,
                                smooth: !1,
                                size: 1,
                                dashedValue: [2, 2],
                                color: "#01C5C4"
                            }],
                            circles: [{
                                style: a.PolygonType.Fill,
                                borderStyle: a.LineType.Solid,
                                borderSize: 1,
                                borderDashedValue: [2, 2],
                                upColor: "rgba(45, 192, 142, .7)",
                                downColor: "rgba(249, 40, 85, .7)",
                                noChangeColor: "#888888"
                            }],
                            lastValueMark: {
                                show: !1,
                                text: {
                                    show: !1,
                                    style: a.PolygonType.Fill,
                                    color: "#FFFFFF",
                                    size: 12,
                                    family: "Helvetica Neue",
                                    weight: "normal",
                                    borderStyle: a.LineType.Solid,
                                    borderSize: 1,
                                    borderDashedValue: [2, 2],
                                    paddingLeft: 4,
                                    paddingTop: 4,
                                    paddingRight: 4,
                                    paddingBottom: 4,
                                    borderRadius: 2
                                }
                            },
                            tooltip: {
                                showRule: a.TooltipShowRule.Always,
                                showType: a.TooltipShowType.Standard,
                                showName: !0,
                                showParams: !0,
                                defaultValue: "n/a",
                                text: {
                                    size: 12,
                                    family: "Helvetica Neue",
                                    weight: "normal",
                                    color: "#76808F",
                                    marginLeft: 10,
                                    marginTop: 8,
                                    marginRight: 6,
                                    marginBottom: 0
                                },
                                icons: []
                            }
                        },
                        xAxis: {
                            show: !0,
                            size: "auto",
                            axisLine: {
                                show: !0,
                                color: "#DDDDDD",
                                size: 1
                            },
                            tickText: {
                                show: !0,
                                color: "#76808F",
                                size: 12,
                                family: "Helvetica Neue",
                                weight: "normal",
                                marginStart: 4,
                                marginEnd: 4
                            },
                            tickLine: {
                                show: !0,
                                size: 1,
                                length: 3,
                                color: "#DDDDDD"
                            }
                        },
                        yAxis: {
                            show: !0,
                            size: "auto",
                            type: a.YAxisType.Normal,
                            position: a.YAxisPosition.Right,
                            inside: !1,
                            reverse: !1,
                            axisLine: {
                                show: !0,
                                color: "#DDDDDD",
                                size: 1
                            },
                            tickText: {
                                show: !0,
                                color: "#76808F",
                                size: 12,
                                family: "Helvetica Neue",
                                weight: "normal",
                                marginStart: 4,
                                marginEnd: 4
                            },
                            tickLine: {
                                show: !0,
                                size: 1,
                                length: 3,
                                color: "#DDDDDD"
                            }
                        },
                        separator: {
                            size: 1,
                            color: "#DDDDDD",
                            fill: !0,
                            activeBackgroundColor: "rgba(33, 150, 243, 0.08)"
                        },
                        crosshair: {
                            show: !0,
                            horizontal: {
                                show: !0,
                                line: {
                                    show: !0,
                                    style: a.LineType.Dashed,
                                    dashedValue: [4, 2],
                                    size: 1,
                                    color: "#76808F"
                                },
                                text: {
                                    show: !0,
                                    style: a.PolygonType.Fill,
                                    color: "#FFFFFF",
                                    size: 12,
                                    family: "Helvetica Neue",
                                    weight: "normal",
                                    borderStyle: a.LineType.Solid,
                                    borderDashedValue: [2, 2],
                                    borderSize: 1,
                                    borderColor: "#686D76",
                                    borderRadius: 2,
                                    paddingLeft: 4,
                                    paddingRight: 4,
                                    paddingTop: 4,
                                    paddingBottom: 4,
                                    backgroundColor: "#686D76"
                                }
                            },
                            vertical: {
                                show: !0,
                                line: {
                                    show: !0,
                                    style: a.LineType.Dashed,
                                    dashedValue: [4, 2],
                                    size: 1,
                                    color: "#76808F"
                                },
                                text: {
                                    show: !0,
                                    style: a.PolygonType.Fill,
                                    color: "#FFFFFF",
                                    size: 12,
                                    family: "Helvetica Neue",
                                    weight: "normal",
                                    borderStyle: a.LineType.Solid,
                                    borderDashedValue: [2, 2],
                                    borderSize: 1,
                                    borderRadius: 2,
                                    borderColor: "#686D76",
                                    paddingLeft: 4,
                                    paddingRight: 4,
                                    paddingTop: 4,
                                    paddingBottom: 4,
                                    backgroundColor: "#686D76"
                                }
                            }
                        },
                        overlay: {
                            point: {
                                color: "#1677FF",
                                borderColor: "rgba(22, 119, 255, 0.35)",
                                borderSize: 1,
                                radius: 5,
                                activeColor: "#1677FF",
                                activeBorderColor: "rgba(22, 119, 255, 0.35)",
                                activeBorderSize: 3,
                                activeRadius: 5
                            },
                            line: {
                                style: a.LineType.Solid,
                                smooth: !1,
                                color: "#1677FF",
                                size: 1,
                                dashedValue: [2, 2]
                            },
                            rect: {
                                style: a.PolygonType.Fill,
                                color: "rgba(22, 119, 255, 0.25)",
                                borderColor: "#1677FF",
                                borderSize: 1,
                                borderRadius: 0,
                                borderStyle: a.LineType.Solid,
                                borderDashedValue: [2, 2]
                            },
                            polygon: {
                                style: a.PolygonType.Fill,
                                color: "#1677FF",
                                borderColor: "#1677FF",
                                borderSize: 1,
                                borderStyle: a.LineType.Solid,
                                borderDashedValue: [2, 2]
                            },
                            circle: {
                                style: a.PolygonType.Fill,
                                color: "rgba(22, 119, 255, 0.25)",
                                borderColor: "#1677FF",
                                borderSize: 1,
                                borderStyle: a.LineType.Solid,
                                borderDashedValue: [2, 2]
                            },
                            arc: {
                                style: a.LineType.Solid,
                                color: "#1677FF",
                                size: 1,
                                dashedValue: [2, 2]
                            },
                            text: {
                                color: "#1677FF",
                                size: 12,
                                family: "Helvetica Neue",
                                weight: "normal"
                            },
                            rectText: {
                                style: a.PolygonType.Fill,
                                color: "#FFFFFF",
                                size: 12,
                                family: "Helvetica Neue",
                                weight: "normal",
                                borderStyle: a.LineType.Solid,
                                borderDashedValue: [2, 2],
                                borderSize: 1,
                                borderRadius: 2,
                                borderColor: "#1677FF",
                                paddingLeft: 4,
                                paddingRight: 4,
                                paddingTop: 4,
                                paddingBottom: 4,
                                backgroundColor: "#1677FF"
                            }
                        }
                    },
                    this._customApi = {
                        formatDate: ae,
                        formatBigNumber: fe
                    },
                    this._locale = "en-US",
                    this._precision = {
                        price: 2,
                        volume: 0
                    },
                    this._thousandsSeparator = ",",
                    this._dataList = [],
                    this._timeScaleStore = new h1(this),
                    this._indicatorStore = new C1(this),
                    this._overlayStore = new T1(this),
                    this._crosshairStore = new x1(this),
                    this._tooltipStore = new _1,
                    this._actionStore = new E1,
                    this._visibleDataList = [],
                    this._chart = e,
                    this.setOptions(t)
                }
                return r.prototype.adjustVisibleDataList = function() {
                    this._visibleDataList = [];
                    for (var e = this._timeScaleStore.getVisibleRange(), t = e.to, i = e.from; t > i; i++) {
                        var o = this._dataList[i]
                          , s = this._timeScaleStore.dataIndexToCoordinate(i);
                        this._visibleDataList.push({
                            dataIndex: i,
                            x: s,
                            data: o
                        })
                    }
                }
                ,
                r.prototype.setOptions = function(e) {
                    if (e !== void 0) {
                        var t = e.locale
                          , i = e.timezone
                          , o = e.styles
                          , s = e.customApi;
                        t !== void 0 && (this._locale = t),
                        i !== void 0 && this._timeScaleStore.setTimezone(i),
                        o !== void 0 && (B(o) ? v(this._styles, to(o)) : v(this._styles, o)),
                        s !== void 0 && v(this._customApi, s),
                        e.thousandsSeparator !== void 0 && (this._thousandsSeparator = e.thousandsSeparator)
                    }
                    return this
                }
                ,
                r.prototype.getStyles = function() {
                    return this._styles
                }
                ,
                r.prototype.getLocale = function() {
                    return this._locale
                }
                ,
                r.prototype.getCustomApi = function() {
                    return this._customApi
                }
                ,
                r.prototype.getThousandsSeparator = function() {
                    return this._thousandsSeparator
                }
                ,
                r.prototype.getPrecision = function() {
                    return this._precision
                }
                ,
                r.prototype.setPrecision = function(e) {
                    return this._precision = e,
                    this._indicatorStore.setSeriesPrecision(e),
                    this
                }
                ,
                r.prototype.getDataList = function() {
                    return this._dataList
                }
                ,
                r.prototype.getVisibleDataList = function() {
                    return this._visibleDataList
                }
                ,
                r.prototype.addData = function(e, t, i) {
                    if (C(e)) {
                        this._timeScaleStore.setLoading(!1),
                        this._timeScaleStore.setMore(i == null || i);
                        var o = this._dataList.length === 0;
                        this._dataList = e.concat(this._dataList),
                        o && this._timeScaleStore.resetOffsetRightDistance(),
                        this._timeScaleStore.adjustVisibleRange()
                    } else if (t < this._dataList.length)
                        this._dataList[t] = e,
                        this.adjustVisibleDataList();
                    else {
                        this._dataList.push(e);
                        var s = this._timeScaleStore.getOffsetRightBarCount();
                        0 > s && this._timeScaleStore.setOffsetRightBarCount(--s),
                        this._timeScaleStore.adjustVisibleRange()
                    }
                    this._crosshairStore.recalculate(!0)
                }
                ,
                r.prototype.clearDataList = function() {
                    this._dataList = [],
                    this._visibleDataList = [],
                    this._timeScaleStore.clear()
                }
                ,
                r.prototype.getTimeScaleStore = function() {
                    return this._timeScaleStore
                }
                ,
                r.prototype.getIndicatorStore = function() {
                    return this._indicatorStore
                }
                ,
                r.prototype.getOverlayStore = function() {
                    return this._overlayStore
                }
                ,
                r.prototype.getCrosshairStore = function() {
                    return this._crosshairStore
                }
                ,
                r.prototype.getTooltipStore = function() {
                    return this._tooltipStore
                }
                ,
                r.prototype.getActionStore = function() {
                    return this._actionStore
                }
                ,
                r.prototype.getChart = function() {
                    return this._chart
                }
                ,
                r
            }();
            function ti(r) {
                return window.requestAnimationFrame == null ? window.setTimeout(r, 20) : window.requestAnimationFrame(r)
            }
            function ni(r) {
                window.cancelAnimationFrame == null && window.clearTimeout(r),
                window.cancelAnimationFrame(r)
            }
            var Yt = -1
              , ii = function(r) {
                function e() {
                    var t = r !== null && r.apply(this, arguments) || this;
                    return t._mainRequestAnimationId = Yt,
                    t._overlayRequestAnimationId = Yt,
                    t
                }
                return ee(e, r),
                e.prototype.getContainerStyle = function() {
                    return {
                        margin: "0",
                        padding: "0",
                        position: "absolute",
                        top: "0",
                        overflow: "hidden",
                        boxSizing: "border-box"
                    }
                }
                ,
                e.prototype.initDom = function(t) {
                    this._mainCanvas = R("canvas", {
                        position: "absolute",
                        top: "0",
                        left: "0",
                        zIndex: "2",
                        boxSizing: "border-box"
                    }),
                    this._mainCtx = this._mainCanvas.getContext("2d"),
                    this._overlayCanvas = R("canvas", {
                        position: "absolute",
                        top: "0",
                        left: "0",
                        zIndex: "2",
                        boxSizing: "border-box"
                    }),
                    this._overlayCtx = this._overlayCanvas.getContext("2d"),
                    t.appendChild(this._mainCanvas),
                    t.appendChild(this._overlayCanvas)
                }
                ,
                e.prototype._optimalUpdateMain = function(t, i) {
                    var o = this;
                    this._mainRequestAnimationId !== Yt && (ni(this._mainRequestAnimationId),
                    this._mainRequestAnimationId = Yt),
                    this._mainRequestAnimationId = ti(function() {
                        if (t !== o._mainCanvas.offsetWidth || i !== o._mainCanvas.offsetHeight) {
                            o._mainCtx.clearRect(0, 0, o._mainCanvas.offsetWidth, o._mainCanvas.offsetHeight);
                            var s = j(o._mainCanvas)
                              , u = Math.floor(t * s)
                              , c = Math.floor(i * s);
                            o._mainCanvas.style.width = "".concat(t, "px"),
                            o._mainCanvas.style.height = "".concat(i, "px"),
                            o._mainCanvas.width = u,
                            o._mainCanvas.height = c,
                            o._mainCtx.scale(s, s)
                        } else
                            o._mainCtx.clearRect(0, 0, o._mainCanvas.offsetWidth, o._mainCanvas.offsetHeight);
                        o.updateMain(o._mainCtx)
                    })
                }
                ,
                e.prototype._optimalUpdateOverlay = function(t, i) {
                    var o = this;
                    this._overlayRequestAnimationId !== Yt && (ni(this._overlayRequestAnimationId),
                    this._overlayRequestAnimationId = Yt),
                    this._overlayRequestAnimationId = ti(function() {
                        if (t !== o._overlayCanvas.offsetWidth || i !== o._overlayCanvas.offsetHeight) {
                            o._overlayCtx.clearRect(0, 0, o._overlayCanvas.offsetWidth, o._overlayCanvas.offsetHeight);
                            var s = j(o._overlayCanvas)
                              , u = Math.floor(t * s)
                              , c = Math.floor(i * s);
                            o._overlayCanvas.style.width = "".concat(t, "px"),
                            o._overlayCanvas.style.height = "".concat(i, "px"),
                            o._overlayCanvas.width = u,
                            o._overlayCanvas.height = c,
                            o._overlayCtx.scale(s, s)
                        } else
                            o._overlayCtx.clearRect(0, 0, o._overlayCanvas.offsetWidth, o._overlayCanvas.offsetHeight);
                        o.updateOverlay(o._overlayCtx)
                    })
                }
                ,
                e.prototype.updateImp = function(t, i, o) {
                    var s = o.width
                      , u = o.height;
                    i.style.left = "".concat(o.left, "px");
                    var c = t;
                    switch (s === i.offsetWidth && u === i.offsetHeight || (i.style.width = "".concat(s, "px"),
                    i.style.height = "".concat(u, "px"),
                    c = 3),
                    c) {
                    case 0:
                        this._optimalUpdateMain(s, u);
                        break;
                    case 1:
                        this._optimalUpdateOverlay(s, u);
                        break;
                    case 3:
                    case 4:
                        this._optimalUpdateMain(s, u),
                        this._optimalUpdateOverlay(s, u)
                    }
                }
                ,
                e.prototype.getImage = function(t) {
                    var i = this.getBounding()
                      , o = i.width
                      , s = i.height
                      , u = R("canvas", {
                        width: "".concat(o, "px"),
                        height: "".concat(s, "px"),
                        boxSizing: "border-box"
                    })
                      , c = u.getContext("2d")
                      , h = j(u);
                    return u.width = o * h,
                    u.height = s * h,
                    c.scale(h, h),
                    c.drawImage(this._mainCanvas, 0, 0, o, s),
                    t && c.drawImage(this._overlayCanvas, 0, 0, o, s),
                    u
                }
                ,
                e
            }(Ji)
              , no = function(r) {
                function e(t) {
                    var i = r.call(this) || this;
                    return i.attrs = t.attrs,
                    i.styles = t.styles,
                    i
                }
                return ee(e, r),
                e.prototype.checkEventOn = function(t) {
                    return this.checkEventOnImp(t, this.attrs, this.styles)
                }
                ,
                e.prototype.draw = function(t) {
                    this.drawImp(t, this.attrs, this.styles)
                }
                ,
                e.extend = function(t) {
                    var i = function(o) {
                        function s() {
                            return o !== null && o.apply(this, arguments) || this
                        }
                        return ee(s, o),
                        s.prototype.checkEventOnImp = function(u, c, h) {
                            return t.checkEventOn(u, c, h)
                        }
                        ,
                        s.prototype.drawImp = function(u, c, h) {
                            t.draw(u, c, h)
                        }
                        ,
                        s
                    }(e);
                    return i
                }
                ,
                e
            }(ei);
            function io(r, e) {
                var t = r.x - e.x
                  , i = r.y - e.y
                  , o = e.r;
                return !(t * t + i * i > o * o)
            }
            function oo(r, e, t) {
                var i = e.x
                  , o = e.y
                  , s = e.r
                  , u = t.style
                  , c = u === void 0 ? a.PolygonType.Fill : u
                  , h = t.color
                  , d = t.borderSize
                  , p = d === void 0 ? 1 : d
                  , g = t.borderColor
                  , y = g === void 0 ? "currentColor" : g
                  , f = t.borderStyle
                  , x = f === void 0 ? a.LineType.Solid : f
                  , _ = t.borderDashedValue
                  , w = _ === void 0 ? [2, 2] : _;
                c !== a.PolygonType.Fill && t.style !== a.PolygonType.StrokeFill || (r.fillStyle = h === void 0 ? "currentColor" : h,
                r.beginPath(),
                r.arc(i, o, s, 0, 2 * Math.PI),
                r.closePath(),
                r.fill()),
                c !== a.PolygonType.Stroke && t.style !== a.PolygonType.StrokeFill || (r.strokeStyle = y,
                r.lineWidth = p,
                r.setLineDash(x === a.LineType.Dashed ? w : []),
                r.beginPath(),
                r.arc(i, o, s, 0, 2 * Math.PI),
                r.closePath(),
                r.stroke())
            }
            var D1 = {
                name: "circle",
                checkEventOn: io,
                draw: function(r, e, t) {
                    oo(r, e, t)
                }
            };
            function ro(r, e) {
                for (var t = !1, i = e.coordinates, o = 0, s = i.length - 1; i.length > o; s = o++)
                    i[o].y > r.y != i[s].y > r.y && (i[s].x - i[o].x) * (r.y - i[o].y) / (i[s].y - i[o].y) + i[o].x > r.x && (t = !t);
                return t
            }
            function ao(r, e, t) {
                var i = e.coordinates
                  , o = t.style
                  , s = o === void 0 ? a.PolygonType.Fill : o
                  , u = t.color
                  , c = t.borderSize
                  , h = c === void 0 ? 1 : c
                  , d = t.borderColor
                  , p = d === void 0 ? "currentColor" : d
                  , g = t.borderStyle
                  , y = g === void 0 ? a.LineType.Solid : g
                  , f = t.borderDashedValue
                  , x = f === void 0 ? [2, 2] : f;
                if (s === a.PolygonType.Fill || t.style === a.PolygonType.StrokeFill) {
                    r.fillStyle = u === void 0 ? "currentColor" : u,
                    r.beginPath(),
                    r.moveTo(i[0].x, i[0].y);
                    for (var _ = 1; i.length > _; _++)
                        r.lineTo(i[_].x, i[_].y);
                    r.closePath(),
                    r.fill()
                }
                if (s === a.PolygonType.Stroke || t.style === a.PolygonType.StrokeFill) {
                    for (r.strokeStyle = p,
                    r.lineWidth = h,
                    r.setLineDash(y === a.LineType.Dashed ? x : []),
                    r.beginPath(),
                    r.moveTo(i[0].x, i[0].y),
                    _ = 1; i.length > _; _++)
                        r.lineTo(i[_].x, i[_].y);
                    r.closePath(),
                    r.stroke()
                }
            }
            var P1 = {
                name: "polygon",
                checkEventOn: ro,
                draw: function(r, e, t) {
                    ao(r, e, t)
                }
            };
            function so(r, e) {
                return !(e.x > r.x || r.x > e.x + e.width || e.y > r.y || r.y > e.y + e.height)
            }
            function oi(r, e, t) {
                var i = e.x
                  , o = e.y
                  , s = e.width
                  , u = e.height
                  , c = t.style
                  , h = c === void 0 ? a.PolygonType.Fill : c
                  , d = t.color
                  , p = t.borderSize
                  , g = p === void 0 ? 1 : p
                  , y = t.borderColor
                  , f = y === void 0 ? "currentColor" : y
                  , x = t.borderStyle
                  , _ = x === void 0 ? a.LineType.Solid : x
                  , w = t.borderRadius
                  , L = w === void 0 ? 0 : w
                  , M = t.borderDashedValue
                  , k = M === void 0 ? [2, 2] : M;
                h !== a.PolygonType.Fill && t.style !== a.PolygonType.StrokeFill || (r.fillStyle = d === void 0 ? "currentColor" : d,
                r.beginPath(),
                r.moveTo(i + L, o),
                r.arcTo(i + s, o, i + s, o + u, L),
                r.arcTo(i + s, o + u, i, o + u, L),
                r.arcTo(i, o + u, i, o, L),
                r.arcTo(i, o, i + s, o, L),
                r.closePath(),
                r.fill()),
                h !== a.PolygonType.Stroke && t.style !== a.PolygonType.StrokeFill || (r.strokeStyle = f,
                r.lineWidth = g,
                r.setLineDash(_ === a.LineType.Dashed ? k : []),
                r.beginPath(),
                r.moveTo(i + L, o),
                r.arcTo(i + s, o, i + s, o + u, L),
                r.arcTo(i + s, o + u, i, o + u, L),
                r.arcTo(i, o + u, i, o, L),
                r.arcTo(i, o, i + s, o, L),
                r.closePath(),
                r.stroke())
            }
            var F1 = {
                name: "rect",
                checkEventOn: so,
                draw: function(r, e, t) {
                    oi(r, e, t)
                }
            };
            function lo(r, e, t) {
                var i = e.size
                  , o = i === void 0 ? 12 : i
                  , s = e.paddingLeft
                  , u = s === void 0 ? 0 : s
                  , c = e.paddingTop
                  , h = c === void 0 ? 0 : c
                  , d = e.paddingRight
                  , p = d === void 0 ? 0 : d
                  , g = e.paddingBottom
                  , y = g === void 0 ? 0 : g
                  , f = r.x
                  , x = r.y
                  , _ = r.align
                  , w = r.baseline
                  , L = w === void 0 ? "top" : w;
                t = t ?? o * r.text.length;
                var M, k, E = o;
                switch (_ === void 0 ? "left" : _) {
                case "left":
                case "start":
                    M = f;
                    break;
                case "right":
                case "end":
                    M = f - p - t - u;
                    break;
                default:
                    M = f - t / 2 - u
                }
                switch (L) {
                case "top":
                case "hanging":
                    k = x;
                    break;
                case "bottom":
                case "ideographic":
                case "alphabetic":
                    k = x - E - h - y;
                    break;
                default:
                    k = x - E / 2 - h
                }
                return {
                    x: M,
                    y: k,
                    width: u + t + p,
                    height: h + E + y
                }
            }
            function ri(r, e, t) {
                var i = lo(e, t)
                  , o = i.x
                  , s = i.y;
                return !(o > r.x || r.x > o + i.width || s > r.y || r.y > s + i.height)
            }
            function ai(r, e, t) {
                var i = e.x
                  , o = e.y
                  , s = e.text
                  , u = e.align
                  , c = e.baseline
                  , h = c === void 0 ? "top" : c
                  , d = t.color
                  , p = d === void 0 ? "currentColor" : d
                  , g = t.size
                  , y = g === void 0 ? 12 : g
                  , f = t.family
                  , x = t.weight;
                r.textAlign = u === void 0 ? "left" : u,
                r.textBaseline = h,
                r.font = Q(y, x, f),
                r.fillStyle = p,
                r.fillText(s, i, o)
            }
            var B1 = {
                name: "text",
                checkEventOn: function(r, e, t) {
                    return ri(r, e, t)
                },
                draw: function(r, e, t) {
                    ai(r, e, t)
                }
            };
            function co(r, e, t) {
                var i = e.text
                  , o = t.size
                  , s = t.paddingLeft
                  , u = s === void 0 ? 0 : s
                  , c = t.paddingTop
                  , h = c === void 0 ? 0 : c;
                r.font = Q(o === void 0 ? 12 : o, t.weight, t.family);
                var d = lo(e, t, r.measureText(i).width);
                oi(r, d, X(X({}, t), {
                    color: t.backgroundColor
                })),
                ai(r, {
                    x: d.x + u,
                    y: d.y + h,
                    text: i,
                    align: "left",
                    baseline: "top"
                }, t)
            }
            var N1 = {
                name: "rectText",
                checkEventOn: function(r, e, t) {
                    return ri(r, e, t)
                },
                draw: function(r, e, t) {
                    co(r, e, t)
                }
            };
            function uo(r, e) {
                if (2 > Math.abs(Math.sqrt((g = (d = r).x - (p = e).x) * g + (y = d.y - p.y) * y) - e.r)) {
                    var t = e.r
                      , i = e.startAngle
                      , o = e.endAngle
                      , s = t * Math.cos(i) + e.x
                      , u = t * Math.sin(i) + e.y
                      , c = t * Math.cos(o) + e.x
                      , h = t * Math.sin(o) + e.y;
                    return !(r.x > Math.max(s, c) + 2 || Math.min(s, c) - 2 > r.x || r.y > Math.max(u, h) + 2 || Math.min(u, h) - 2 > r.y)
                }
                var d, p, g, y;
                return !1
            }
            function ho(r, e, t) {
                var i = e.x
                  , o = e.y
                  , s = e.r
                  , u = e.startAngle
                  , c = e.endAngle
                  , h = t.style
                  , d = h === void 0 ? a.LineType.Solid : h
                  , p = t.size
                  , g = t.color
                  , y = g === void 0 ? "currentColor" : g
                  , f = t.dashedValue
                  , x = f === void 0 ? [2, 2] : f;
                r.lineWidth = p === void 0 ? 1 : p,
                r.strokeStyle = y,
                r.setLineDash(d === a.LineType.Dashed ? x : []),
                r.beginPath(),
                r.arc(i, o, s, u, c),
                r.stroke(),
                r.closePath()
            }
            var R1 = {
                name: "arc",
                checkEventOn: uo,
                draw: function(r, e, t) {
                    ho(r, e, t)
                }
            }
              , cn = {};
            [D1, w1, P1, F1, B1, N1, R1].forEach(function(r) {
                cn[r.name] = no.extend(r)
            });
            var at = function(r) {
                function e(t) {
                    var i = r.call(this) || this;
                    return i._widget = t,
                    i
                }
                return ee(e, r),
                e.prototype.getWidget = function() {
                    return this._widget
                }
                ,
                e.prototype.createFigure = function(t, i, o, s) {
                    var u = function(d) {
                        var p;
                        return (p = cn[d]) !== null && p !== void 0 ? p : null
                    }(t);
                    if (u !== null) {
                        var c = new u({
                            name: t,
                            attrs: i,
                            styles: o
                        });
                        if (s !== void 0) {
                            for (var h in s)
                                s.hasOwnProperty(h) && c.registerEvent(h, s[h]);
                            this.addChild(c)
                        }
                        return c
                    }
                    return null
                }
                ,
                e.prototype.draw = function(t) {
                    this.clear(),
                    this.drawImp(t)
                }
                ,
                e
            }(ei)
              , O1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o = this, s = this.getWidget(), u = this.getWidget().getPane(), c = u.getChart(), h = s.getBounding(), d = c.getStyles().grid;
                    if (d.show) {
                        t.save(),
                        t.globalCompositeOperation = "destination-over";
                        var p = d.horizontal;
                        p.show && u.getAxisComponent().getTicks().forEach(function(y) {
                            var f;
                            (f = o.createFigure("line", {
                                coordinates: [{
                                    x: 0,
                                    y: y.coord
                                }, {
                                    x: h.width,
                                    y: y.coord
                                }]
                            }, p)) === null || f === void 0 || f.draw(t)
                        });
                        var g = d.vertical;
                        g.show && ((i = c.getPaneById(Ze)) === null || i === void 0 ? void 0 : i.getAxisComponent()).getTicks().forEach(function(y) {
                            var f;
                            (f = o.createFigure("line", {
                                coordinates: [{
                                    x: y.coord,
                                    y: 0
                                }, {
                                    x: y.coord,
                                    y: h.height
                                }]
                            }, g)) === null || f === void 0 || f.draw(t)
                        }),
                        t.restore()
                    }
                }
                ,
                e
            }(at)
              , si = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.eachChildren = function(t) {
                    var i = this.getWidget().getPane().getChart().getChartStore()
                      , o = i.getVisibleDataList()
                      , s = i.getTimeScaleStore().getBarSpace();
                    o.forEach(function(u, c) {
                        t(u, s, c)
                    })
                }
                ,
                e
            }(at)
              , po = function(r) {
                function e() {
                    var t = r !== null && r.apply(this, arguments) || this;
                    return t._boundCandleBarClickEvent = function(i) {
                        return function() {
                            return t.getWidget().getPane().getChart().getChartStore().getActionStore().execute(a.ActionType.OnCandleBarClick, i),
                            !1
                        }
                    }
                    ,
                    t
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i = this
                      , o = this.getWidget().getPane()
                      , s = o.getId() === We
                      , u = o.getChart().getChartStore()
                      , c = this.getCandleBarOptions(u);
                    if (c !== null) {
                        var h = o.getAxisComponent();
                        this.eachChildren(function(d, p) {
                            i._drawCandleBar(t, h, d, p, c, s)
                        })
                    }
                }
                ,
                e.prototype.getCandleBarOptions = function(t) {
                    var i = t.getStyles().candle;
                    return {
                        type: i.type,
                        styles: i.bar
                    }
                }
                ,
                e.prototype._drawCandleBar = function(t, i, o, s, u, c) {
                    var h, d, p, g = this, y = o.data, f = o.x, x = y.open, _ = y.high, w = y.low, L = y.close, M = s.halfGapBar, k = s.gapBar, E = u.type, D = u.styles;
                    L > x ? (h = D.upColor,
                    d = D.upBorderColor,
                    p = D.upWickColor) : x > L ? (h = D.downColor,
                    d = D.downBorderColor,
                    p = D.downWickColor) : (h = D.noChangeColor,
                    d = D.noChangeBorderColor,
                    p = D.noChangeWickColor);
                    var F = i.convertToPixel(x)
                      , N = i.convertToPixel(L)
                      , O = [F, N, i.convertToPixel(_), i.convertToPixel(w)];
                    O.sort(function($, se) {
                        return $ - se
                    });
                    var z = Math.max(1, O[2] - O[1])
                      , U = [];
                    E !== a.CandleType.Ohlc ? (U.push({
                        name: "rect",
                        attrs: {
                            x: f - .5,
                            y: O[0],
                            width: 1,
                            height: O[1] - O[0]
                        },
                        styles: {
                            color: p
                        }
                    }),
                    U.push(E === a.CandleType.CandleStroke || E === a.CandleType.CandleUpStroke && L > x || E === a.CandleType.CandleDownStroke && x > L ? {
                        name: "rect",
                        attrs: {
                            x: f - M,
                            y: O[1],
                            width: k - 1,
                            height: z
                        },
                        styles: {
                            style: a.PolygonType.Stroke,
                            borderColor: d
                        }
                    } : {
                        name: "rect",
                        attrs: {
                            x: f - M,
                            y: O[1],
                            width: k,
                            height: z
                        },
                        styles: {
                            style: a.PolygonType.StrokeFill,
                            color: h,
                            borderColor: d
                        }
                    }),
                    U.push({
                        name: "rect",
                        attrs: {
                            x: f - .5,
                            y: O[2],
                            width: 1,
                            height: O[3] - O[2]
                        },
                        styles: {
                            color: p
                        }
                    })) : U = [{
                        name: "rect",
                        attrs: {
                            x: f - .5,
                            y: O[0],
                            width: 1,
                            height: O[3] - O[0]
                        },
                        styles: {
                            color: h
                        }
                    }, {
                        name: "rect",
                        attrs: {
                            x: f - M,
                            y: F,
                            width: M,
                            height: 1
                        },
                        styles: {
                            color: h
                        }
                    }, {
                        name: "rect",
                        attrs: {
                            x: f,
                            y: N,
                            width: M,
                            height: 1
                        },
                        styles: {
                            color: h
                        }
                    }],
                    U.forEach(function($) {
                        var se, te, ne = $.attrs, ye = $.styles;
                        c && (te = {
                            mouseClickEvent: g._boundCandleBarClickEvent(o)
                        }),
                        (se = g.createFigure("rect", ne, ye, te)) === null || se === void 0 || se.draw(t)
                    })
                }
                ,
                e
            }(si)
              , z1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.getCandleBarOptions = function(t) {
                    var i, o, s = this.getWidget().getPane();
                    if (!s.getAxisComponent().isInCandle()) {
                        var u = t.getIndicatorStore().getInstances(s.getId());
                        try {
                            for (var c = tt(u), h = c.next(); !h.done; h = c.next()) {
                                var d = h.value[1];
                                if (d.shouldOhlc && d.visible) {
                                    var p = d.styles
                                      , g = t.getStyles().indicator
                                      , y = ue(p, "ohlc.upColor", g.ohlc.upColor)
                                      , f = ue(p, "ohlc.downColor", g.ohlc.downColor)
                                      , x = ue(p, "ohlc.noChangeColor", g.ohlc.noChangeColor);
                                    return {
                                        type: a.CandleType.Ohlc,
                                        styles: {
                                            upColor: y,
                                            downColor: f,
                                            noChangeColor: x,
                                            upBorderColor: y,
                                            downBorderColor: f,
                                            noChangeBorderColor: x,
                                            upWickColor: y,
                                            downWickColor: f,
                                            noChangeWickColor: x
                                        }
                                    }
                                }
                            }
                        } catch (_) {
                            i = {
                                error: _
                            }
                        } finally {
                            try {
                                h && !h.done && (o = c.return) && o.call(c)
                            } finally {
                                if (i)
                                    throw i.error
                            }
                        }
                    }
                    return null
                }
                ,
                e.prototype.drawImp = function(t) {
                    var i, o = this;
                    r.prototype.drawImp.call(this, t);
                    var s = this.getWidget()
                      , u = s.getPane()
                      , c = u.getChart()
                      , h = s.getBounding()
                      , d = (i = c.getPaneById(Ze)) === null || i === void 0 ? void 0 : i.getAxisComponent()
                      , p = u.getAxisComponent()
                      , g = c.getChartStore()
                      , y = g.getDataList()
                      , f = g.getTimeScaleStore()
                      , x = f.getVisibleRange()
                      , _ = g.getIndicatorStore().getInstances(u.getId())
                      , w = g.getStyles().indicator;
                    _.forEach(function(L) {
                        var M;
                        if (L.visible) {
                            var k = !1;
                            if (L.draw !== null && (t.save(),
                            k = (M = L.draw({
                                ctx: t,
                                kLineDataList: y,
                                indicator: L,
                                visibleRange: x,
                                bounding: h,
                                barSpace: f.getBarSpace(),
                                defaultStyles: w,
                                xAxis: d,
                                yAxis: p
                            })) !== null && M !== void 0 && M,
                            t.restore()),
                            !k) {
                                var E = L.result
                                  , D = []
                                  , F = []
                                  , N = [];
                                o.eachChildren(function(O, z) {
                                    var U, $ = z.halfGapBar, se = z.gapBar, te = O.dataIndex, ne = O.x, ye = (U = E[te]) !== null && U !== void 0 ? U : {};
                                    $n(y, L, te, w, function(Se, he, Me, Ee) {
                                        var qe, ke, Ne, Qe = ye[Se.key], Re = p.convertToPixel(Qe);
                                        switch (Se.type) {
                                        case "circle":
                                            T(Qe) && ((qe = o.createFigure("circle", {
                                                x: ne,
                                                y: Re,
                                                r: $
                                            }, {
                                                style: he.style,
                                                color: he.color,
                                                borderColor: he.color
                                            })) === null || qe === void 0 || qe.draw(t));
                                            break;
                                        case "bar":
                                            if (T(Qe)) {
                                                var Ue = (ke = Se.baseValue) !== null && ke !== void 0 ? ke : p.getExtremum().min
                                                  , _t = p.convertToPixel(Ue)
                                                  , st = Math.abs(_t - Re);
                                                Ue !== Qe && (st = Math.max(1, st)),
                                                (Ne = o.createFigure("rect", {
                                                    x: ne - $,
                                                    y: Re > _t ? _t : Re,
                                                    width: se,
                                                    height: st
                                                }, {
                                                    style: he.style,
                                                    color: he.color,
                                                    borderColor: he.color
                                                })) === null || Ne === void 0 || Ne.draw(t)
                                            }
                                            break;
                                        case "line":
                                            var It = null;
                                            if (T(Qe)) {
                                                It = he;
                                                var bt = {
                                                    x: ne,
                                                    y: Re
                                                }
                                                  , Xe = D[Ee];
                                                T(F[Ee]) || (F[Ee] = []),
                                                F[Ee].push(bt),
                                                T(Xe) && ((Xe == null ? void 0 : Xe.color) !== he.color || (Xe == null ? void 0 : Xe.style) !== he.style) && (N.push({
                                                    name: "line",
                                                    attrs: {
                                                        coordinates: F[Ee]
                                                    },
                                                    styles: {
                                                        style: he.style,
                                                        color: he.color,
                                                        size: Me.size,
                                                        smooth: Me.smooth,
                                                        dashedValue: Me.dashedValue
                                                    }
                                                }),
                                                F[Ee] = [bt]),
                                                te === x.to - 1 && N.push({
                                                    name: "line",
                                                    attrs: {
                                                        coordinates: F[Ee]
                                                    },
                                                    styles: {
                                                        style: he.style,
                                                        color: he == null ? void 0 : he.color,
                                                        size: Me.size,
                                                        smooth: Me.smooth,
                                                        dashedValue: Me.dashedValue
                                                    }
                                                })
                                            }
                                            D[Ee] = It
                                        }
                                    })
                                }),
                                N.forEach(function(O) {
                                    var z;
                                    (z = o.createFigure("line", O.attrs, O.styles)) === null || z === void 0 || z.draw(t)
                                })
                            }
                        }
                    })
                }
                ,
                e
            }(po)
              , Y1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i = this.getWidget()
                      , o = i.getPane()
                      , s = i.getBounding()
                      , u = i.getPane().getChart().getChartStore()
                      , c = u.getCrosshairStore().get()
                      , h = u.getStyles().crosshair;
                    if (c.paneId !== void 0 && h.show) {
                        if (c.paneId === o.getId()) {
                            var d = c.y;
                            this._drawLine(t, [{
                                x: 0,
                                y: d
                            }, {
                                x: s.width,
                                y: d
                            }], h.horizontal)
                        }
                        var p = c.realX;
                        this._drawLine(t, [{
                            x: p,
                            y: 0
                        }, {
                            x: p,
                            y: s.height
                        }], h.vertical)
                    }
                }
                ,
                e.prototype._drawLine = function(t, i, o) {
                    var s;
                    if (o.show) {
                        var u = o.line;
                        u.show && ((s = this.createFigure("line", {
                            coordinates: i
                        }, u)) === null || s === void 0 || s.draw(t))
                    }
                }
                ,
                e
            }(at)
              , go = function(r) {
                function e() {
                    var t = r !== null && r.apply(this, arguments) || this;
                    return t._boundIconClickEvent = function(i, o) {
                        return function() {
                            return t.getWidget().getPane().getChart().getChartStore().getActionStore().execute(a.ActionType.OnTooltipIconClick, X(X({}, i), {
                                iconId: o
                            })),
                            !0
                        }
                    }
                    ,
                    t._boundIconMouseMoveEvent = function(i, o) {
                        return function() {
                            return t.getWidget().getPane().getChart().getChartStore().getTooltipStore().setActiveIconInfo(X(X({}, i), {
                                iconId: o
                            })),
                            !0
                        }
                    }
                    ,
                    t
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i = this.getWidget()
                      , o = i.getPane()
                      , s = o.getChart().getChartStore()
                      , u = s.getCrosshairStore().get();
                    if (u.kLineData !== void 0) {
                        var c = i.getBounding()
                          , h = s.getCustomApi()
                          , d = s.getThousandsSeparator()
                          , p = s.getIndicatorStore().getInstances(o.getId())
                          , g = s.getTooltipStore().getActiveIconInfo()
                          , y = s.getStyles().indicator;
                        this.drawIndicatorTooltip(t, o.getId(), s.getDataList(), u, g, p, h, d, c, y)
                    }
                }
                ,
                e.prototype.drawIndicatorTooltip = function(t, i, o, s, u, c, h, d, p, g, y) {
                    var f = this
                      , x = g.tooltip
                      , _ = 0;
                    if (this.isDrawTooltip(s, x)) {
                        var w = x.text
                          , L = 0
                          , M = y ?? 0
                          , k = 0;
                        c.forEach(function(E) {
                            var D = f.getIndicatorTooltipData(o, s, E, h, d, g)
                              , F = D.name
                              , N = D.calcParamsText
                              , O = D.values
                              , z = F.length > 0
                              , U = O.length > 0;
                            if (z || U) {
                                var $ = q(f.classifyTooltipIcons(D.icons), 3)
                                  , se = $[1]
                                  , te = $[2]
                                  , ne = q(f.drawStandardTooltipIcons(t, p, {
                                    paneId: i,
                                    indicatorName: E.name,
                                    iconId: ""
                                }, u, $[0], L, M, k), 4);
                                if (L = ne[0],
                                M = ne[1],
                                _ += ne[3],
                                k = ne[2],
                                z) {
                                    var ye = F;
                                    N.length > 0 && (ye = "".concat(ye).concat(N));
                                    var Se = q(f.drawStandardTooltipLabels(t, p, [{
                                        title: {
                                            text: "",
                                            color: w.color
                                        },
                                        value: {
                                            text: ye,
                                            color: w.color
                                        }
                                    }], L, M, k, w), 4);
                                    L = Se[0],
                                    M = Se[1],
                                    _ += Se[3],
                                    k = Se[2]
                                }
                                var he = q(f.drawStandardTooltipIcons(t, p, {
                                    paneId: i,
                                    indicatorName: E.name,
                                    iconId: ""
                                }, u, se, L, M, k), 4);
                                if (L = he[0],
                                M = he[1],
                                _ += he[3],
                                k = he[2],
                                U) {
                                    var Me = q(f.drawStandardTooltipLabels(t, p, O, L, M, k, w), 4);
                                    L = Me[0],
                                    M = Me[1],
                                    _ += Me[3],
                                    k = Me[2]
                                }
                                var Ee = q(f.drawStandardTooltipIcons(t, p, {
                                    paneId: i,
                                    indicatorName: E.name,
                                    iconId: ""
                                }, u, te, L, M, k), 4);
                                L = 0,
                                _ += Ee[3],
                                M = Ee[1] + Ee[2],
                                k = 0
                            }
                        })
                    }
                    return _
                }
                ,
                e.prototype.drawStandardTooltipIcons = function(t, i, o, s, u, c, h, d) {
                    var p = this
                      , g = c
                      , y = h
                      , f = 0
                      , x = 0
                      , _ = 0;
                    return u.length > 0 && (u.forEach(function(w) {
                        var L = w.marginLeft
                          , M = w.marginTop
                          , k = w.marginRight
                          , E = w.marginBottom
                          , D = w.paddingLeft
                          , F = w.paddingTop
                          , N = w.paddingRight
                          , O = w.paddingBottom
                          , z = w.size
                          , U = w.icon;
                        t.font = Q(z, "normal", w.fontFamily),
                        f += L + D + t.measureText(U).width + N + k,
                        x = Math.max(x, M + F + z + O + E)
                    }),
                    g + f > i.width ? (g = u[0].marginLeft,
                    y += d,
                    _ = x) : _ = Math.max(0, x - d),
                    u.forEach(function(w) {
                        var L, M = w.marginRight, k = w.paddingLeft, E = w.paddingRight, D = w.icon, F = (s == null ? void 0 : s.paneId) === o.paneId && (s == null ? void 0 : s.indicatorName) === o.indicatorName && (s == null ? void 0 : s.iconId) === w.id;
                        (L = p.createFigure("rectText", {
                            text: D,
                            x: g += w.marginLeft,
                            y: y + w.marginTop
                        }, {
                            paddingLeft: k,
                            paddingTop: w.paddingTop,
                            paddingRight: E,
                            paddingBottom: w.paddingBottom,
                            color: F ? w.activeColor : w.color,
                            size: w.size,
                            family: w.fontFamily,
                            backgroundColor: F ? w.activeBackgroundColor : w.backgroundColor
                        }, {
                            mouseClickEvent: p._boundIconClickEvent(o, w.id),
                            mouseMoveEvent: p._boundIconMouseMoveEvent(o, w.id)
                        })) === null || L === void 0 || L.draw(t),
                        g += k + t.measureText(D).width + E + M
                    })),
                    [g, y, Math.max(d, x), _]
                }
                ,
                e.prototype.drawStandardTooltipLabels = function(t, i, o, s, u, c, h) {
                    var d = this
                      , p = s
                      , g = u
                      , y = 0
                      , f = 0
                      , x = c;
                    if (o.length > 0) {
                        var _ = h.marginLeft
                          , w = h.marginTop
                          , L = h.marginRight
                          , M = h.marginBottom
                          , k = h.size
                          , E = h.family
                          , D = h.weight;
                        t.font = Q(k, D, E),
                        o.forEach(function(F) {
                            var N, O, z = F.title, U = F.value, $ = t.measureText(z.text).width, se = t.measureText(U.text).width, te = k + w + M;
                            p + _ + ($ + se) + L > i.width ? (p = _,
                            g += te,
                            f += te) : (p += _,
                            f += Math.max(0, te - x)),
                            x = y = Math.max(x, te),
                            z.text.length > 0 && ((N = d.createFigure("text", {
                                x: p,
                                y: g + w,
                                text: z.text
                            }, {
                                color: z.color,
                                size: k,
                                family: E,
                                weight: D
                            })) === null || N === void 0 || N.draw(t),
                            p += $),
                            (O = d.createFigure("text", {
                                x: p,
                                y: g + w,
                                text: U.text
                            }, {
                                color: U.color,
                                size: k,
                                family: E,
                                weight: D
                            })) === null || O === void 0 || O.draw(t),
                            p += se + L
                        })
                    }
                    return [p, g, y, f]
                }
                ,
                e.prototype.isDrawTooltip = function(t, i) {
                    var o = i.showRule;
                    return o === a.TooltipShowRule.Always || o === a.TooltipShowRule.FollowCross && t.paneId !== void 0
                }
                ,
                e.prototype.getIndicatorTooltipData = function(t, i, o, s, u, c) {
                    var h, d, p, g = c.tooltip, y = g.showName ? o.shortName : "", f = "", x = o.calcParams;
                    x.length > 0 && g.showParams && (f = "(".concat(x.join(","), ")"));
                    var _ = {
                        name: y,
                        calcParamsText: f,
                        values: [],
                        icons: g.icons
                    }
                      , w = i.dataIndex
                      , L = (h = o.result) !== null && h !== void 0 ? h : []
                      , M = [];
                    if (o.visible) {
                        var k = (d = L[w]) !== null && d !== void 0 ? d : {};
                        $n(t, o, w, c, function(ne, ye) {
                            if (ne.title !== void 0) {
                                var Se = ye.color
                                  , he = k[ne.key];
                                T(he) && (he = G(he, o.precision),
                                o.shouldFormatBigNumber && (he = s.formatBigNumber(he))),
                                M.push({
                                    title: {
                                        text: ne.title,
                                        color: Se
                                    },
                                    value: {
                                        text: Ce(he ?? g.defaultValue, u),
                                        color: Se
                                    }
                                })
                            }
                        }),
                        _.values = M
                    }
                    if (o.createTooltipDataSource !== null) {
                        var E = this.getWidget()
                          , D = E.getPane()
                          , F = D.getChart().getChartStore()
                          , N = o.createTooltipDataSource({
                            kLineDataList: t,
                            indicator: o,
                            visibleRange: F.getTimeScaleStore().getVisibleRange(),
                            bounding: E.getBounding(),
                            crosshair: i,
                            defaultStyles: c,
                            xAxis: (p = D.getChart().getPaneById(Ze)) === null || p === void 0 ? void 0 : p.getAxisComponent(),
                            yAxis: D.getAxisComponent()
                        })
                          , O = N.name
                          , z = N.calcParamsText
                          , U = N.values
                          , $ = N.icons;
                        if (O !== void 0 && g.showName && (_.name = O),
                        z !== void 0 && g.showParams && (_.calcParamsText = z),
                        $ !== void 0 && (_.icons = $),
                        U !== void 0 && o.visible) {
                            var se = []
                              , te = c.tooltip.text.color;
                            U.forEach(function(ne) {
                                var ye = {
                                    text: "",
                                    color: te
                                };
                                b(ne.title) ? ye = ne.title : ye.text = ne.title;
                                var Se = {
                                    text: "",
                                    color: te
                                };
                                b(ne.value) ? Se = ne.value : Se.text = ne.value,
                                Se.text = Ce(Se.text, u),
                                se.push({
                                    title: ye,
                                    value: Se
                                })
                            }),
                            _.values = se
                        }
                    }
                    return _
                }
                ,
                e.prototype.classifyTooltipIcons = function(t) {
                    var i = []
                      , o = []
                      , s = [];
                    return t.forEach(function(u) {
                        switch (u.position) {
                        case a.TooltipIconPosition.Left:
                            i.push(u);
                            break;
                        case a.TooltipIconPosition.Middle:
                            o.push(u);
                            break;
                        case a.TooltipIconPosition.Right:
                            s.push(u)
                        }
                    }),
                    [i, o, s]
                }
                ,
                e
            }(at)
              , vo = function(r) {
                function e(t) {
                    var i = r.call(this, t) || this;
                    return i._initEvent(),
                    i
                }
                return ee(e, r),
                e.prototype._initEvent = function() {
                    var t = this
                      , i = this.getWidget().getPane()
                      , o = i.getId()
                      , s = i.getChart().getChartStore().getOverlayStore();
                    this.registerEvent("mouseMoveEvent", function(u) {
                        var c, h = s.getProgressInstanceInfo();
                        if (h !== null) {
                            var d = h.instance
                              , p = h.paneId;
                            d.isStart() && (s.updateProgressInstanceInfo(o),
                            p = o);
                            var g = d.points.length - 1
                              , y = "".concat(an, "point_").concat(g);
                            return d.isDrawing() && p === o && (d.eventMoveForDrawing(t._coordinateToPoint(h.instance, u)),
                            (c = d.onDrawing) === null || c === void 0 || c.call(d, X({
                                overlay: d,
                                figureKey: y,
                                figureIndex: g
                            }, u))),
                            t._figureMouseMoveEvent(d, 1, y, g, 0)(u)
                        }
                        return s.setHoverInstanceInfo({
                            paneId: o,
                            instance: null,
                            figureType: 0,
                            figureKey: "",
                            figureIndex: -1,
                            attrsIndex: -1
                        }, u),
                        !1
                    }).registerEvent("mouseClickEvent", function(u) {
                        var c, h, d = s.getProgressInstanceInfo();
                        if (d !== null) {
                            var p = d.instance
                              , g = d.paneId;
                            p.isStart() && (s.updateProgressInstanceInfo(o, !0),
                            g = o);
                            var y = p.points.length - 1
                              , f = "".concat(an, "point_").concat(y);
                            return p.isDrawing() && g === o && (p.eventMoveForDrawing(t._coordinateToPoint(p, u)),
                            (c = p.onDrawing) === null || c === void 0 || c.call(p, X({
                                overlay: p,
                                figureKey: f,
                                figureIndex: y
                            }, u)),
                            p.nextStep(),
                            p.isDrawing() || (s.progressInstanceComplete(),
                            (h = p.onDrawEnd) === null || h === void 0 || h.call(p, X({
                                overlay: p,
                                figureKey: f,
                                figureIndex: y
                            }, u)))),
                            t._figureMouseClickEvent(p, 1, f, y, 0)(u)
                        }
                        return s.setClickInstanceInfo({
                            paneId: o,
                            instance: null,
                            figureType: 0,
                            figureKey: "",
                            figureIndex: -1,
                            attrsIndex: -1
                        }, u),
                        !1
                    }).registerEvent("mouseDoubleClickEvent", function(u) {
                        var c, h = s.getProgressInstanceInfo();
                        if (h !== null) {
                            var d = h.instance
                              , p = h.paneId;
                            if (d.isDrawing() && p === o && (d.forceComplete(),
                            !d.isDrawing())) {
                                s.progressInstanceComplete();
                                var g = d.points.length - 1
                                  , y = "".concat(an, "point_").concat(g);
                                (c = d.onDrawEnd) === null || c === void 0 || c.call(d, X({
                                    overlay: d,
                                    figureKey: y,
                                    figureIndex: g
                                }, u))
                            }
                            return !0
                        }
                        return !1
                    }).registerEvent("mouseRightClickEvent", function(u) {
                        var c = s.getProgressInstanceInfo();
                        if (c !== null) {
                            var h = c.instance;
                            if (h.isDrawing()) {
                                var d = h.points.length - 1;
                                return t._figureMouseRightClickEvent(h, 1, "".concat(an, "point_").concat(d), d, 0)(u)
                            }
                        }
                        return !1
                    }).registerEvent("mouseUpEvent", function(u) {
                        var c, h = s.getPressedInstanceInfo(), d = h.instance;
                        return d !== null && ((c = d.onPressedMoveEnd) === null || c === void 0 || c.call(d, X({
                            overlay: d,
                            figureKey: h.figureKey,
                            figureIndex: h.figureIndex
                        }, u))),
                        s.setPressedInstanceInfo({
                            paneId: o,
                            instance: null,
                            figureType: 0,
                            figureKey: "",
                            figureIndex: -1,
                            attrsIndex: -1
                        }),
                        !1
                    }).registerEvent("pressedMouseMoveEvent", function(u) {
                        var c, h, d = s.getPressedInstanceInfo(), p = d.instance, g = d.figureType, y = d.figureIndex;
                        if (p !== null) {
                            if (!(p.lock || (h = (c = p.onPressedMoving) === null || c === void 0 ? void 0 : c.call(p, X({
                                overlay: p,
                                figureIndex: y,
                                figureKey: d.figureKey
                            }, u))) !== null && h !== void 0 && h)) {
                                var f = t._coordinateToPoint(p, u);
                                g === 1 ? p.eventPressedPointMove(f, y) : p.eventPressedOtherMove(f, t.getWidget().getPane().getChart().getChartStore().getTimeScaleStore())
                            }
                            return !0
                        }
                        return !1
                    })
                }
                ,
                e.prototype._createFigureEvents = function(t, i, o, s, u, c) {
                    var h;
                    if (!t.isDrawing()) {
                        var d = [];
                        if (c !== void 0 && (I(c) ? c && (d = ["mouseClickEvent", "mouseRightClickEvent", "tapEvent", "mouseDownEvent", "touchStartEvent", "mouseMoveEvent", "touchMoveEvent"]) : d = c),
                        d.length === 0)
                            return {
                                mouseMoveEvent: this._figureMouseMoveEvent(t, i, o, s, u),
                                mouseDownEvent: this._figureMouseDownEvent(t, i, o, s, u),
                                mouseClickEvent: this._figureMouseClickEvent(t, i, o, s, u),
                                mouseRightClickEvent: this._figureMouseRightClickEvent(t, i, o, s, u)
                            };
                        h = {},
                        d.includes("mouseMoveEvent") || d.includes("touchMoveEvent") || (h.mouseMoveEvent = this._figureMouseMoveEvent(t, i, o, s, u)),
                        d.includes("mouseDownEvent") || d.includes("touchStartEvent") || (h.mouseDownEvent = this._figureMouseDownEvent(t, i, o, s, u)),
                        d.includes("mouseClickEvent") || d.includes("tapEvent") || (h.mouseClickEvent = this._figureMouseClickEvent(t, i, o, s, u)),
                        d.includes("mouseRightClickEvent") || (h.mouseRightClickEvent = this._figureMouseRightClickEvent(t, i, o, s, u))
                    }
                    return h
                }
                ,
                e.prototype._figureMouseMoveEvent = function(t, i, o, s, u) {
                    var c = this;
                    return function(h) {
                        var d = c.getWidget().getPane();
                        return d.getChart().getChartStore().getOverlayStore().setHoverInstanceInfo({
                            paneId: d.getId(),
                            instance: t,
                            figureType: i,
                            figureKey: o,
                            figureIndex: s,
                            attrsIndex: u
                        }, h),
                        !0
                    }
                }
                ,
                e.prototype._figureMouseDownEvent = function(t, i, o, s, u) {
                    var c = this;
                    return function(h) {
                        var d, p = c.getWidget().getPane(), g = p.getId(), y = p.getChart().getChartStore().getOverlayStore();
                        return t.startPressedMove(c._coordinateToPoint(t, h)),
                        (d = t.onPressedMoveStart) === null || d === void 0 || d.call(t, X({
                            overlay: t,
                            figureIndex: s,
                            figureKey: o
                        }, h)),
                        y.setPressedInstanceInfo({
                            paneId: g,
                            instance: t,
                            figureType: i,
                            figureKey: o,
                            figureIndex: s,
                            attrsIndex: u
                        }),
                        !0
                    }
                }
                ,
                e.prototype._figureMouseClickEvent = function(t, i, o, s, u) {
                    var c = this;
                    return function(h) {
                        var d = c.getWidget().getPane()
                          , p = d.getId();
                        return d.getChart().getChartStore().getOverlayStore().setClickInstanceInfo({
                            paneId: p,
                            instance: t,
                            figureType: i,
                            figureKey: o,
                            figureIndex: s,
                            attrsIndex: u
                        }, h),
                        !0
                    }
                }
                ,
                e.prototype._figureMouseRightClickEvent = function(t, i, o, s, u) {
                    var c = this;
                    return function(h) {
                        var d, p;
                        return (p = (d = t.onRightClick) === null || d === void 0 ? void 0 : d.call(t, X({
                            overlay: t,
                            figureIndex: s,
                            figureKey: o
                        }, h))) !== null && p !== void 0 && p || c.getWidget().getPane().getChart().getChartStore().getOverlayStore().removeInstance(t),
                        !0
                    }
                }
                ,
                e.prototype._coordinateToPoint = function(t, i) {
                    var o, s, u = {}, c = this.getWidget().getPane(), h = c.getChart(), d = c.getId(), p = h.getChartStore().getTimeScaleStore();
                    if (this.coordinateToPointTimestampDataIndexFlag()) {
                        var g = ((o = h.getPaneById(Ze)) === null || o === void 0 ? void 0 : o.getAxisComponent()).convertFromPixel(i.x)
                          , y = (s = p.dataIndexToTimestamp(g)) !== null && s !== void 0 ? s : void 0;
                        u.dataIndex = g,
                        u.timestamp = y
                    }
                    if (this.coordinateToPointValueFlag()) {
                        var f = c.getAxisComponent()
                          , x = f.convertFromPixel(i.y);
                        if (t.mode !== a.OverlayMode.Normal && d === We && u.dataIndex !== void 0) {
                            var _ = p.getDataByDataIndex(u.dataIndex);
                            if (_ !== null)
                                if (x > _.high)
                                    if (t.mode === a.OverlayMode.WeakMagnet) {
                                        var w = f.convertToPixel(_.high);
                                        f.convertFromPixel(w - 8) > x && (x = _.high)
                                    } else
                                        x = _.high;
                                else if (_.low > x)
                                    if (t.mode === a.OverlayMode.WeakMagnet) {
                                        var L = f.convertToPixel(_.low);
                                        x > f.convertFromPixel(L - 8) && (x = _.low)
                                    } else
                                        x = _.low;
                                else {
                                    var M = Math.max(_.open, _.close)
                                      , k = Math.min(_.open, _.close);
                                    x = x > M ? _.high - x > x - M ? M : _.high : k > x ? k - x > x - _.low ? _.low : k : x - k > M - x ? M : k
                                }
                        }
                        u.value = x
                    }
                    return u
                }
                ,
                e.prototype.coordinateToPointValueFlag = function() {
                    return !0
                }
                ,
                e.prototype.coordinateToPointTimestampDataIndexFlag = function() {
                    return !0
                }
                ,
                e.prototype.dispatchEvent = function(t, i, o) {
                    return this.getWidget().getPane().getChart().getChartStore().getOverlayStore().isDrawing() ? this.onEvent(t, i, o) : r.prototype.dispatchEvent.call(this, t, i, o)
                }
                ,
                e.prototype.checkEventOn = function() {
                    return !0
                }
                ,
                e.prototype.drawImp = function(t) {
                    var i, o = this, s = this.getWidget(), u = s.getPane(), c = u.getId(), h = u.getChart(), d = u.getAxisComponent(), p = (i = h.getPaneById(Ze)) === null || i === void 0 ? void 0 : i.getAxisComponent(), g = s.getBounding(), y = h.getChartStore(), f = y.getCustomApi(), x = y.getThousandsSeparator(), _ = y.getTimeScaleStore(), w = _.getDateTimeFormat(), L = _.getBarSpace(), M = y.getPrecision(), k = y.getStyles().overlay, E = y.getOverlayStore(), D = E.getHoverInstanceInfo(), F = E.getClickInstanceInfo();
                    this.getCompleteOverlays(E, c).forEach(function(z) {
                        z.visible && o._drawOverlay(t, z, g, L, M, w, f, x, k, p, d, D, F, _)
                    });
                    var N = E.getProgressInstanceInfo();
                    if (N !== null) {
                        var O = this.getProgressOverlay(N, c);
                        O !== null && O.visible && this._drawOverlay(t, O, g, L, M, w, f, x, k, p, d, D, F, _)
                    }
                }
                ,
                e.prototype._drawOverlay = function(t, i, o, s, u, c, h, d, p, g, y, f, x, _) {
                    var w = i.points.map(function(M) {
                        var k, E, D = M.dataIndex;
                        M.timestamp !== void 0 && (D = _.timestampToDataIndex(M.timestamp));
                        var F = {
                            x: 0,
                            y: 0
                        };
                        return D !== void 0 && (F.x = (k = g == null ? void 0 : g.convertToPixel(D)) !== null && k !== void 0 ? k : 0),
                        M.value !== void 0 && (F.y = (E = y == null ? void 0 : y.convertToPixel(M.value)) !== null && E !== void 0 ? E : 0),
                        F
                    });
                    if (w.length > 0) {
                        var L = [].concat(this.getFigures(i, w, o, s, u, d, c, p, g, y));
                        this.drawFigures(t, i, L, p)
                    }
                    this.drawDefaultFigures(t, i, w, o, u, c, h, d, p, g, y, f, x)
                }
                ,
                e.prototype.drawFigures = function(t, i, o, s) {
                    var u = this;
                    o.forEach(function(c, h) {
                        var d = c.type
                          , p = c.styles
                          , g = c.ignoreEvent;
                        [].concat(c.attrs).forEach(function(y, f) {
                            var x, _, w, L = u._createFigureEvents(i, 2, (x = c.key) !== null && x !== void 0 ? x : "", h, f, g), M = X(X(X({}, s[d]), (_ = i.styles) === null || _ === void 0 ? void 0 : _[d]), p);
                            (w = u.createFigure(d, y, M, L)) === null || w === void 0 || w.draw(t)
                        })
                    })
                }
                ,
                e.prototype.getCompleteOverlays = function(t, i) {
                    return t.getInstances(i)
                }
                ,
                e.prototype.getProgressOverlay = function(t, i) {
                    return t.paneId === i ? t.instance : null
                }
                ,
                e.prototype.getFigures = function(t, i, o, s, u, c, h, d, p, g) {
                    var y, f;
                    return (f = (y = t.createPointFigures) === null || y === void 0 ? void 0 : y.call(t, {
                        overlay: t,
                        coordinates: i,
                        bounding: o,
                        barSpace: s,
                        precision: u,
                        thousandsSeparator: c,
                        dateTimeFormat: h,
                        defaultStyles: d,
                        xAxis: p,
                        yAxis: g
                    })) !== null && f !== void 0 ? f : []
                }
                ,
                e.prototype.drawDefaultFigures = function(t, i, o, s, u, c, h, d, p, g, y, f, x) {
                    var _, w, L = this;
                    if (i.needDefaultPointFigure && (((_ = f.instance) === null || _ === void 0 ? void 0 : _.id) === i.id && f.figureType !== 0 || ((w = x.instance) === null || w === void 0 ? void 0 : w.id) === i.id && x.figureType !== 0)) {
                        var M = i.styles
                          , k = X(X({}, p.point), M == null ? void 0 : M.point);
                        o.forEach(function(E, D) {
                            var F, N, O, z = E.x, U = E.y, $ = k.radius, se = k.color, te = k.borderColor, ne = k.borderSize;
                            ((F = f.instance) === null || F === void 0 ? void 0 : F.id) === i.id && f.figureType === 1 && f.figureIndex === D && ($ = k.activeRadius,
                            se = k.activeColor,
                            te = k.activeBorderColor,
                            ne = k.activeBorderSize),
                            (N = L.createFigure("circle", {
                                x: z,
                                y: U,
                                r: $ + ne
                            }, {
                                color: te
                            }, L._createFigureEvents(i, 1, "".concat(an, "point_").concat(D), D, 0))) === null || N === void 0 || N.draw(t),
                            (O = L.createFigure("circle", {
                                x: z,
                                y: U,
                                r: $
                            }, {
                                color: se
                            })) === null || O === void 0 || O.draw(t)
                        })
                    }
                }
                ,
                e
            }(at)
              , fo = function(r) {
                function e(t, i) {
                    var o = r.call(this, t, i) || this;
                    return o._gridView = new O1(o),
                    o._indicatorView = new z1(o),
                    o._crosshairLineView = new Y1(o),
                    o._tooltipView = o.createTooltipView(),
                    o._overlayView = new vo(o),
                    o.addChild(o._tooltipView),
                    o.addChild(o._overlayView),
                    o.getContainer().style.cursor = "crosshair",
                    o.registerEvent("mouseMoveEvent", function() {
                        return i.getChart().getChartStore().getTooltipStore().setActiveIconInfo(),
                        !1
                    }),
                    o
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return je
                }
                ,
                e.prototype.updateMain = function(t) {
                    this.updateMainContent(t),
                    this._indicatorView.draw(t),
                    this._gridView.draw(t)
                }
                ,
                e.prototype.createTooltipView = function() {
                    return new go(this)
                }
                ,
                e.prototype.updateMainContent = function(t) {}
                ,
                e.prototype.updateOverlay = function(t) {
                    this._overlayView.draw(t),
                    this._crosshairLineView.draw(t),
                    this._tooltipView.draw(t)
                }
                ,
                e
            }(ii)
              , V1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o, s = this.getWidget(), u = s.getPane(), c = u.getChart(), h = s.getBounding(), d = u.getAxisComponent(), p = c.getStyles().candle.area, g = [], y = [], f = Number.MAX_SAFE_INTEGER;
                    this.eachChildren(function(E, D, F) {
                        var N = E.x
                          , O = D.halfGapBar
                          , z = E.data[p.value];
                        if (A(z)) {
                            var U = d.convertToPixel(z);
                            if (F === 0) {
                                var $ = N - O;
                                y.push({
                                    x: $,
                                    y: h.height
                                }),
                                y.push({
                                    x: $,
                                    y: U
                                }),
                                g.push({
                                    x: $,
                                    y: U
                                })
                            }
                            g.push({
                                x: N,
                                y: U
                            }),
                            y.push({
                                x: N,
                                y: U
                            }),
                            f = Math.min(f, U)
                        }
                    });
                    var x = y.length;
                    if (x > 0) {
                        var _ = y[x - 1]
                          , w = _.x;
                        g.push({
                            x: w,
                            y: _.y
                        }),
                        y.push({
                            x: w,
                            y: _.y
                        }),
                        y.push({
                            x: w,
                            y: h.height
                        })
                    }
                    if (g.length > 0 && ((i = this.createFigure("line", {
                        coordinates: g
                    }, {
                        color: p.lineColor,
                        size: p.lineSize
                    })) === null || i === void 0 || i.draw(t)),
                    y.length > 0) {
                        var L = p.backgroundColor
                          , M = void 0;
                        if (C(L)) {
                            var k = t.createLinearGradient(0, h.height, 0, f);
                            try {
                                L.forEach(function(E) {
                                    k.addColorStop(E.offset, E.color)
                                })
                            } catch {}
                            M = k
                        } else
                            M = L;
                        (o = this.createFigure("polygon", {
                            coordinates: y
                        }, {
                            color: M
                        })) === null || o === void 0 || o.draw(t)
                    }
                }
                ,
                e
            }(si)
              , j1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i = this.getWidget().getPane()
                      , o = i.getChart().getChartStore()
                      , s = o.getStyles().candle.priceMark
                      , u = s.high
                      , c = s.low;
                    if (s.show && (u.show || c.show)) {
                        var h = o.getThousandsSeparator()
                          , d = o.getPrecision()
                          , p = i.getAxisComponent()
                          , g = Number.MIN_SAFE_INTEGER
                          , y = 0
                          , f = Number.MAX_SAFE_INTEGER
                          , x = 0;
                        this.eachChildren(function(L) {
                            var M = L.data
                              , k = L.x;
                            M.high > g && (g = M.high,
                            y = k),
                            f > M.low && (f = M.low,
                            x = k)
                        });
                        var _ = p.convertToPixel(g)
                          , w = p.convertToPixel(f);
                        u.show && g !== Number.MIN_SAFE_INTEGER && this._drawMark(t, Ce(G(g, d.price), h), {
                            x: y,
                            y: _
                        }, w > _ ? [-2, -5] : [2, 5], u),
                        c.show && f !== Number.MAX_SAFE_INTEGER && this._drawMark(t, Ce(G(f, d.price), h), {
                            x,
                            y: w
                        }, w > _ ? [2, 5] : [-2, -5], c)
                    }
                }
                ,
                e.prototype._drawMark = function(t, i, o, s, u) {
                    var c, h, d, p, g, y, f = o.x, x = o.y + s[0];
                    (c = this.createFigure("line", {
                        coordinates: [{
                            x: f - 2,
                            y: x + s[0]
                        }, {
                            x: f,
                            y: x
                        }, {
                            x: f + 2,
                            y: x + s[0]
                        }]
                    }, {
                        color: u.color
                    })) === null || c === void 0 || c.draw(t),
                    f > this.getWidget().getBounding().width / 2 ? (g = (p = f - 5) - u.textOffset,
                    y = "right") : (y = "left",
                    g = (p = f + 5) + u.textOffset);
                    var _ = x + s[1];
                    (h = this.createFigure("line", {
                        coordinates: [{
                            x: f,
                            y: x
                        }, {
                            x: f,
                            y: _
                        }, {
                            x: p,
                            y: _
                        }]
                    }, {
                        color: u.color
                    })) === null || h === void 0 || h.draw(t),
                    (d = this.createFigure("text", {
                        x: g,
                        y: _,
                        text: i,
                        align: y,
                        baseline: "middle"
                    }, {
                        color: u.color,
                        size: u.textSize,
                        family: u.textFamily,
                        weight: u.textWeight
                    })) === null || d === void 0 || d.draw(t)
                }
                ,
                e
            }(si)
              , W1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o = this.getWidget(), s = o.getPane(), u = o.getBounding(), c = s.getChart().getChartStore(), h = c.getStyles().candle.priceMark, d = h.last, p = d.line;
                    if (h.show && d.show && p.show) {
                        var g = s.getAxisComponent()
                          , y = c.getDataList()
                          , f = y[y.length - 1];
                        if (f != null) {
                            var x = f.close
                              , _ = f.open
                              , w = g.convertToNicePixel(x);
                            (i = this.createFigure("line", {
                                coordinates: [{
                                    x: 0,
                                    y: w
                                }, {
                                    x: u.width,
                                    y: w
                                }]
                            }, {
                                style: p.style,
                                color: x > _ ? d.upColor : _ > x ? d.downColor : d.noChangeColor,
                                size: p.size,
                                dashedValue: p.dashedValue
                            })) === null || i === void 0 || i.draw(t)
                        }
                    }
                }
                ,
                e
            }(at)
              , bn = {
                "zh-CN": {
                    time: "时间：",
                    open: "开：",
                    high: "高：",
                    low: "低：",
                    close: "收：",
                    volume: "成交量："
                },
                "en-US": {
                    time: "Time: ",
                    open: "Open: ",
                    high: "High: ",
                    low: "Low: ",
                    close: "Close: ",
                    volume: "Volume: "
                }
            };
            function Et(r, e) {
                var t, i;
                return (i = (t = bn[e]) === null || t === void 0 ? void 0 : t[r]) !== null && i !== void 0 ? i : r
            }
            var Q1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o = this.getWidget(), s = o.getPane(), u = s.getId(), c = s.getChart().getChartStore(), h = c.getCrosshairStore().get();
                    if (h.kLineData !== void 0) {
                        var d = o.getBounding()
                          , p = (i = s.getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding()
                          , g = c.getDataList()
                          , y = c.getPrecision()
                          , f = c.getLocale()
                          , x = c.getCustomApi()
                          , _ = c.getThousandsSeparator()
                          , w = c.getTooltipStore().getActiveIconInfo()
                          , L = c.getIndicatorStore().getInstances(s.getId())
                          , M = c.getTimeScaleStore().getDateTimeFormat()
                          , k = c.getStyles()
                          , E = k.candle
                          , D = k.indicator;
                        if (E.tooltip.showType === a.TooltipShowType.Rect && D.tooltip.showType === a.TooltipShowType.Rect) {
                            var F = this.isDrawTooltip(h, E.tooltip)
                              , N = this.isDrawTooltip(h, D.tooltip);
                            this._drawRectTooltip(t, g, L, d, p, h, y, M, f, x, _, F, N, k, 0)
                        } else if (E.tooltip.showType === a.TooltipShowType.Standard && D.tooltip.showType === a.TooltipShowType.Standard) {
                            var O = this._drawCandleStandardTooltip(t, g, u, d, h, w, y, M, f, x, _, E);
                            this.drawIndicatorTooltip(t, u, g, h, w, L, x, _, d, D, O)
                        } else if (E.tooltip.showType === a.TooltipShowType.Rect && D.tooltip.showType === a.TooltipShowType.Standard) {
                            var z = this.drawIndicatorTooltip(t, u, g, h, w, L, x, _, d, D, 0);
                            F = this.isDrawTooltip(h, E.tooltip),
                            this._drawRectTooltip(t, g, L, d, p, h, y, M, f, x, _, F, !1, k, z)
                        } else {
                            var U = this._drawCandleStandardTooltip(t, g, u, d, h, w, y, M, f, x, _, E);
                            N = this.isDrawTooltip(h, D.tooltip),
                            this._drawRectTooltip(t, g, L, d, p, h, y, M, f, x, _, !1, N, k, U)
                        }
                    }
                }
                ,
                e.prototype._drawCandleStandardTooltip = function(t, i, o, s, u, c, h, d, p, g, y, f) {
                    var x, _, w, L = f.tooltip, M = L.text, k = 0;
                    if (this.isDrawTooltip(u, L)) {
                        var E = (x = u.dataIndex) !== null && x !== void 0 ? x : 0
                          , D = this._getCandleTooltipData({
                            prev: (_ = i[E - 1]) !== null && _ !== void 0 ? _ : null,
                            current: u.kLineData,
                            next: (w = i[E + 1]) !== null && w !== void 0 ? w : null
                        }, h, d, p, g, y, f)
                          , F = 0
                          , N = 0
                          , O = 0
                          , z = q(this.classifyTooltipIcons(L.icons), 3)
                          , U = z[1]
                          , $ = z[2]
                          , se = q(this.drawStandardTooltipIcons(t, s, {
                            paneId: o,
                            indicatorName: "",
                            iconId: ""
                        }, c, z[0], F, N, 0), 4);
                        k += se[3];
                        var te = q(this.drawStandardTooltipIcons(t, s, {
                            paneId: o,
                            indicatorName: "",
                            iconId: ""
                        }, c, U, F = se[0], N = se[1], O = se[2]), 4);
                        if (F = te[0],
                        N = te[1],
                        k += te[3],
                        O = te[2],
                        D.length > 0) {
                            var ne = q(this.drawStandardTooltipLabels(t, s, D, F, N, O, M), 4);
                            F = ne[0],
                            N = ne[1],
                            k += ne[3],
                            O = ne[2]
                        }
                        var ye = q(this.drawStandardTooltipIcons(t, s, {
                            paneId: o,
                            indicatorName: "",
                            iconId: ""
                        }, c, $, F, N, O), 4);
                        F = ye[0],
                        N = ye[1],
                        k += ye[3],
                        O = ye[2]
                    }
                    return k
                }
                ,
                e.prototype._drawRectTooltip = function(t, i, o, s, u, c, h, d, p, g, y, f, x, _, w) {
                    var L, M, k, E, D, F = this, N = _.candle, O = _.indicator, z = N.tooltip, U = O.tooltip;
                    if (f || x) {
                        var $ = (L = c.dataIndex) !== null && L !== void 0 ? L : 0
                          , se = this._getCandleTooltipData({
                            prev: (M = i[$ - 1]) !== null && M !== void 0 ? M : null,
                            current: c.kLineData,
                            next: (k = i[$ + 1]) !== null && k !== void 0 ? k : null
                        }, h, d, p, g, y, N)
                          , te = z.text
                          , ne = te.marginLeft
                          , ye = te.marginRight
                          , Se = te.marginTop
                          , he = te.marginBottom
                          , Me = te.size
                          , Ee = te.weight
                          , qe = te.family
                          , ke = z.rect
                          , Ne = ke.position
                          , Qe = ke.paddingLeft
                          , Re = ke.paddingRight
                          , Ue = ke.paddingTop
                          , _t = ke.paddingBottom
                          , st = ke.offsetLeft
                          , It = ke.offsetRight
                          , bt = ke.offsetTop
                          , Xe = ke.offsetBottom
                          , wt = ke.borderSize
                          , la = ke.borderRadius
                          , ca = ke.borderColor
                          , ua = ke.color
                          , un = 0
                          , Dt = 0
                          , St = 0;
                        f && (t.font = Q(Me, Ee, qe),
                        se.forEach(function(gt) {
                            var Ge = gt.value
                              , $e = "".concat(gt.title.text).concat(Ge.text)
                              , et = t.measureText($e).width + ne + ye;
                            un = Math.max(un, et)
                        }),
                        St += (he + Se + Me) * se.length);
                        var Pt = U.text
                          , So = Pt.marginLeft
                          , Lo = Pt.marginRight
                          , ko = Pt.marginTop
                          , Mo = Pt.marginBottom
                          , hn = Pt.size
                          , ui = Pt.weight
                          , hi = Pt.family
                          , Ao = [];
                        if (x && (t.font = Q(hn, ui, hi),
                        o.forEach(function(gt) {
                            var Ge, $e = (Ge = F.getIndicatorTooltipData(i, c, gt, g, y, O).values) !== null && Ge !== void 0 ? Ge : [];
                            Ao.push($e),
                            $e.forEach(function(et) {
                                var Ft = et.value
                                  , Sn = "".concat(et.title.text).concat(Ft.text)
                                  , pa = t.measureText(Sn).width + So + Lo;
                                un = Math.max(un, pa),
                                St += ko + Mo + hn
                            })
                        })),
                        (Dt += un) !== 0 && St !== 0) {
                            Dt += 2 * wt + Qe + Re,
                            St += 2 * wt + Ue + _t;
                            var To = Ne === le.Pointer && c.paneId === We
                              , Eo = ((E = c.realX) !== null && E !== void 0 ? E : 0) > s.width / 2
                              , lt = 0;
                            if (To) {
                                var Io = c.realX;
                                lt = Eo ? Io - It - Dt : Io + st
                            } else
                                Eo ? (lt = st,
                                _.yAxis.inside && _.yAxis.position === a.YAxisPosition.Left && (lt += u.width)) : (lt = s.width - It - Dt,
                                _.yAxis.inside && _.yAxis.position === a.YAxisPosition.Right && (lt -= u.width));
                            var Vt = w + bt;
                            To && ((Vt = c.y - St / 2) + St > s.height - Xe && (Vt = s.height - Xe - St),
                            w + bt > Vt && (Vt = w + bt)),
                            (D = this.createFigure("rect", {
                                x: lt,
                                y: Vt,
                                width: Dt,
                                height: St
                            }, {
                                style: a.PolygonType.StrokeFill,
                                color: ua,
                                borderColor: ca,
                                borderSize: wt,
                                borderRadius: la
                            })) === null || D === void 0 || D.draw(t);
                            var ha = lt + wt + Qe + ne
                              , jt = Vt + wt + Ue;
                            if (f && se.forEach(function(gt) {
                                var Ge, $e, et = gt.title;
                                (Ge = F.createFigure("text", {
                                    x: ha,
                                    y: jt += Se,
                                    text: et.text
                                }, {
                                    color: et.color,
                                    size: Me,
                                    family: qe,
                                    weight: Ee
                                })) === null || Ge === void 0 || Ge.draw(t);
                                var Ft = gt.value;
                                ($e = F.createFigure("text", {
                                    x: lt + Dt - wt - ye - Re,
                                    y: jt,
                                    text: Ft.text,
                                    align: "right"
                                }, {
                                    color: Ft.color,
                                    size: Me,
                                    family: qe,
                                    weight: Ee
                                })) === null || $e === void 0 || $e.draw(t),
                                jt += Me + he
                            }),
                            x) {
                                var da = lt + wt + Qe + So;
                                Ao.forEach(function(gt) {
                                    gt.forEach(function(Ge) {
                                        var $e, et, Ft = Ge.title, Sn = Ge.value;
                                        ($e = F.createFigure("text", {
                                            x: da,
                                            y: jt += ko,
                                            text: Ft.text
                                        }, {
                                            color: Ft.color,
                                            size: hn,
                                            family: hi,
                                            weight: ui
                                        })) === null || $e === void 0 || $e.draw(t),
                                        (et = F.createFigure("text", {
                                            x: lt + Dt - wt - Lo - Re,
                                            y: jt,
                                            text: Sn.text,
                                            align: "right"
                                        }, {
                                            color: Sn.color,
                                            size: hn,
                                            family: hi,
                                            weight: ui
                                        })) === null || et === void 0 || et.draw(t),
                                        jt += hn + Mo
                                    })
                                })
                            }
                        }
                    }
                }
                ,
                e.prototype._getCandleTooltipData = function(t, i, o, s, u, c, h) {
                    var d, p, g, y = h.tooltip, f = y.text.color, x = [];
                    if (S(y.custom))
                        ((p = (d = y.custom) === null || d === void 0 ? void 0 : d.call(y, t, h)) !== null && p !== void 0 ? p : []).forEach(function(M) {
                            var k = M.title
                              , E = M.value
                              , D = {
                                text: "",
                                color: ""
                            };
                            b(k) ? D = k : (D.text = k,
                            D.color = f),
                            D.text = Et(D.text, s);
                            var F = {
                                text: "",
                                color: ""
                            };
                            b(E) ? F = E : (F.text = E,
                            F.color = f),
                            x.push({
                                title: D,
                                value: F
                            })
                        });
                    else {
                        var _ = i.price
                          , w = i.volume
                          , L = t.current;
                        x = [{
                            title: {
                                text: Et("time", s),
                                color: f
                            },
                            value: {
                                text: u.formatDate(o, L.timestamp, "YYYY-MM-DD HH:mm", a.FormatDateType.Tooltip),
                                color: f
                            }
                        }, {
                            title: {
                                text: Et("open", s),
                                color: f
                            },
                            value: {
                                text: Ce(G(L.open, _), c),
                                color: f
                            }
                        }, {
                            title: {
                                text: Et("high", s),
                                color: f
                            },
                            value: {
                                text: Ce(G(L.high, _), c),
                                color: f
                            }
                        }, {
                            title: {
                                text: Et("low", s),
                                color: f
                            },
                            value: {
                                text: Ce(G(L.low, _), c),
                                color: f
                            }
                        }, {
                            title: {
                                text: Et("close", s),
                                color: f
                            },
                            value: {
                                text: Ce(G(L.close, _), c),
                                color: f
                            }
                        }, {
                            title: {
                                text: Et("volume", s),
                                color: f
                            },
                            value: {
                                text: Ce(u.formatBigNumber(G((g = L.volume) !== null && g !== void 0 ? g : y.defaultValue, w)), c),
                                color: f
                            }
                        }]
                    }
                    return x
                }
                ,
                e
            }(go)
              , K1 = function(r) {
                function e(t, i) {
                    var o = r.call(this, t, i) || this;
                    return o._candleBarView = new po(o),
                    o._candleAreaView = new V1(o),
                    o._candleHighLowPriceView = new j1(o),
                    o._candleLastPriceLineView = new W1(o),
                    o.addChild(o._candleBarView),
                    o
                }
                return ee(e, r),
                e.prototype.updateMainContent = function(t) {
                    this.getPane().getChart().getStyles().candle.type !== a.CandleType.Area ? (this._candleBarView.draw(t),
                    this._candleHighLowPriceView.draw(t),
                    this._candleLastPriceLineView.draw(t)) : this._candleAreaView.draw(t)
                }
                ,
                e.prototype.createTooltipView = function() {
                    return new Q1(this)
                }
                ,
                e
            }(fo)
              , yo = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o = this, s = this.getWidget(), u = s.getPane(), c = s.getBounding(), h = u.getAxisComponent(), d = this.getAxisStyles(u.getChart().getStyles());
                    if (d.show) {
                        d.axisLine.show && ((i = this.createFigure("line", this.createAxisLine(c, d), d.axisLine)) === null || i === void 0 || i.draw(t));
                        var p = h.getTicks();
                        d.tickLine.show && this.createTickLines(p, c, d).forEach(function(g) {
                            var y;
                            (y = o.createFigure("line", g, d.tickLine)) === null || y === void 0 || y.draw(t)
                        }),
                        d.tickText.show && this.createTickTexts(p, c, d).forEach(function(g) {
                            var y;
                            (y = o.createFigure("text", g, d.tickText)) === null || y === void 0 || y.draw(t)
                        })
                    }
                }
                ,
                e
            }(at)
              , Z1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.getAxisStyles = function(t) {
                    return t.yAxis
                }
                ,
                e.prototype.createAxisLine = function(t, i) {
                    var o, s = this.getWidget().getPane().getAxisComponent(), u = i.axisLine.size;
                    return {
                        coordinates: [{
                            x: o = s.isFromZero() ? u / 2 : t.width - u,
                            y: 0
                        }, {
                            x: o,
                            y: t.height
                        }]
                    }
                }
                ,
                e.prototype.createTickLines = function(t, i, o) {
                    var s = this.getWidget().getPane().getAxisComponent()
                      , u = o.axisLine
                      , c = o.tickLine
                      , h = 0
                      , d = 0;
                    return s.isFromZero() ? (h = 0,
                    u.show && (h += u.size),
                    d = h + c.length) : (h = i.width,
                    u.show && (h -= u.size),
                    d = h - c.length),
                    t.map(function(p) {
                        return {
                            coordinates: [{
                                x: h,
                                y: p.coord
                            }, {
                                x: d,
                                y: p.coord
                            }]
                        }
                    })
                }
                ,
                e.prototype.createTickTexts = function(t, i, o) {
                    var s = this.getWidget().getPane().getAxisComponent()
                      , u = o.axisLine
                      , c = o.tickLine
                      , h = o.tickText
                      , d = 0;
                    s.isFromZero() ? (d = h.marginStart,
                    u.show && (d += u.size),
                    c.show && (d += c.length)) : (d = i.width - h.marginEnd,
                    u.show && (d -= u.size),
                    c.show && (d -= c.length));
                    var p = this.getWidget().getPane().getAxisComponent().isFromZero() ? "left" : "right";
                    return t.map(function(g) {
                        return {
                            x: d,
                            y: g.coord,
                            text: g.text,
                            align: p,
                            baseline: "middle"
                        }
                    })
                }
                ,
                e
            }(yo)
              , H1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o = this.getWidget(), s = o.getPane(), u = o.getBounding(), c = s.getChart().getChartStore(), h = c.getStyles().candle.priceMark, d = h.last, p = d.text;
                    if (h.show && d.show && p.show) {
                        var g = c.getPrecision()
                          , y = s.getAxisComponent()
                          , f = c.getDataList()
                          , x = c.getVisibleDataList()
                          , _ = f[f.length - 1];
                        if (_ !== void 0) {
                            var w = _.close
                              , L = _.open
                              , M = y.convertToNicePixel(w)
                              , k = void 0;
                            k = w > L ? d.upColor : L > w ? d.downColor : d.noChangeColor;
                            var E = void 0;
                            if (y.getType() === a.YAxisType.Percentage) {
                                var D = x[0].data.close;
                                E = "".concat(((w - D) / D * 100).toFixed(2), "%")
                            } else
                                E = G(w, g.price);
                            E = Ce(E, c.getThousandsSeparator());
                            var F = void 0
                              , N = void 0;
                            y.isFromZero() ? (F = 0,
                            N = "left") : (F = u.width,
                            N = "right"),
                            (i = this.createFigure("rectText", {
                                x: F,
                                y: M,
                                text: E,
                                align: N,
                                baseline: "middle"
                            }, X(X({}, p), {
                                backgroundColor: k
                            }))) === null || i === void 0 || i.draw(t)
                        }
                    }
                }
                ,
                e
            }(at)
              , U1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i = this
                      , o = this.getWidget()
                      , s = o.getPane()
                      , u = o.getBounding()
                      , c = s.getChart().getChartStore()
                      , h = c.getCustomApi()
                      , d = c.getStyles().indicator
                      , p = d.lastValueMark
                      , g = p.text;
                    if (p.show) {
                        var y = s.getAxisComponent()
                          , f = c.getDataList()
                          , x = f.length - 1
                          , _ = c.getIndicatorStore().getInstances(s.getId())
                          , w = c.getThousandsSeparator();
                        _.forEach(function(L) {
                            var M = L.result[x];
                            if (M !== void 0 && L.visible) {
                                var k = L.precision;
                                $n(f, L, x, d, function(E, D) {
                                    var F, N = M[E.key];
                                    if (T(N)) {
                                        var O = y.convertToNicePixel(N)
                                          , z = G(N, k);
                                        L.shouldFormatBigNumber && (z = h.formatBigNumber(z)),
                                        z = Ce(z, w);
                                        var U = void 0
                                          , $ = void 0;
                                        y.isFromZero() ? (U = 0,
                                        $ = "left") : (U = u.width,
                                        $ = "right"),
                                        (F = i.createFigure("rectText", {
                                            x: U,
                                            y: O,
                                            text: z,
                                            align: $,
                                            baseline: "middle"
                                        }, X(X({}, g), {
                                            backgroundColor: D.color
                                        }))) === null || F === void 0 || F.draw(t)
                                    }
                                })
                            }
                        })
                    }
                }
                ,
                e
            }(at)
              , mo = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.coordinateToPointTimestampDataIndexFlag = function() {
                    return !1
                }
                ,
                e.prototype.drawDefaultFigures = function(t, i, o, s, u, c, h, d, p, g, y, f, x) {
                    this.drawFigures(t, i, this.getDefaultFigures(i, o, s, u, c, h, d, g, y, x), p)
                }
                ,
                e.prototype.getDefaultFigures = function(t, i, o, s, u, c, h, d, p, g) {
                    var y, f, x = [];
                    if (t.needDefaultYAxisFigure && t.id === ((y = g.instance) === null || y === void 0 ? void 0 : y.id) && g.paneId === this.getWidget().getPane().getId()) {
                        var _, w, L = Number.MAX_SAFE_INTEGER, M = Number.MIN_SAFE_INTEGER;
                        (f = p == null ? void 0 : p.isFromZero()) !== null && f !== void 0 && f ? (_ = "left",
                        w = 0) : (_ = "right",
                        w = o.width),
                        i.forEach(function(k, E) {
                            var D = t.points[E];
                            if (D.value !== void 0) {
                                L = Math.min(L, k.y),
                                M = Math.max(M, k.y);
                                var F = Ce(G(D.value, s.price), h);
                                x.push({
                                    type: "rectText",
                                    attrs: {
                                        x: w,
                                        y: k.y,
                                        text: F,
                                        align: _,
                                        baseline: "middle"
                                    },
                                    ignoreEvent: !0
                                })
                            }
                        }),
                        i.length > 1 && x.unshift({
                            type: "rect",
                            attrs: {
                                x: 0,
                                y: L,
                                width: o.width,
                                height: M - L
                            },
                            ignoreEvent: !0
                        })
                    }
                    return x
                }
                ,
                e.prototype.getFigures = function(t, i, o, s, u, c, h, d, p, g) {
                    var y, f;
                    return (f = (y = t.createYAxisFigures) === null || y === void 0 ? void 0 : y.call(t, {
                        overlay: t,
                        coordinates: i,
                        bounding: o,
                        barSpace: s,
                        precision: u,
                        thousandsSeparator: c,
                        dateTimeFormat: h,
                        defaultStyles: d,
                        xAxis: p,
                        yAxis: g
                    })) !== null && f !== void 0 ? f : []
                }
                ,
                e
            }(vo)
              , Co = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.drawImp = function(t) {
                    var i, o = this.getWidget(), s = o.getPane(), u = o.getBounding(), c = o.getPane().getChart().getChartStore(), h = c.getCrosshairStore().get(), d = c.getStyles().crosshair;
                    if (h.paneId !== void 0 && this.compare(h, s.getId()) && d.show) {
                        var p = this.getDirectionStyles(d)
                          , g = p.text;
                        if (p.show && g.show) {
                            var y = s.getAxisComponent()
                              , f = this.getText(h, c, y);
                            t.font = Q(g.size, g.weight, g.family),
                            (i = this.createFigure("rectText", this.getTextAttrs(f, t.measureText(f).width, h, u, y, g), g)) === null || i === void 0 || i.draw(t)
                        }
                    }
                }
                ,
                e.prototype.compare = function(t, i) {
                    return t.paneId === i
                }
                ,
                e.prototype.getDirectionStyles = function(t) {
                    return t.horizontal
                }
                ,
                e.prototype.getText = function(t, i, o) {
                    var s, u, c, h = o, d = o.convertFromPixel(t.y);
                    if (h.getType() === a.YAxisType.Percentage) {
                        var p = (u = (s = i.getVisibleDataList()[0]) === null || s === void 0 ? void 0 : s.data) !== null && u !== void 0 ? u : {};
                        c = "".concat(((d - p.close) / p.close * 100).toFixed(2), "%")
                    } else {
                        var g = i.getIndicatorStore().getInstances(t.paneId)
                          , y = 0
                          , f = !1;
                        h.isInCandle() ? y = i.getPrecision().price : g.forEach(function(x) {
                            y = Math.max(x.precision, y),
                            f || (f = x.shouldFormatBigNumber)
                        }),
                        c = G(d, y),
                        f && (c = i.getCustomApi().formatBigNumber(c))
                    }
                    return Ce(c, i.getThousandsSeparator())
                }
                ,
                e.prototype.getTextAttrs = function(t, i, o, s, u, c) {
                    var h, d;
                    return u.isFromZero() ? (h = 0,
                    d = "left") : (h = s.width,
                    d = "right"),
                    {
                        x: h,
                        y: o.y,
                        text: t,
                        align: d,
                        baseline: "middle"
                    }
                }
                ,
                e
            }(at)
              , X1 = function(r) {
                function e(t, i) {
                    var o = r.call(this, t, i) || this;
                    return o._yAxisView = new Z1(o),
                    o._candleLastPriceLabelView = new H1(o),
                    o._indicatorLastValueView = new U1(o),
                    o._overlayYAxisView = new mo(o),
                    o._crosshairHorizontalLabelView = new Co(o),
                    o.getContainer().style.cursor = "ns-resize",
                    o.addChild(o._overlayYAxisView),
                    o
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return rt
                }
                ,
                e.prototype.updateMain = function(t) {
                    this._yAxisView.draw(t),
                    this.getPane().getAxisComponent().isInCandle() && this._candleLastPriceLabelView.draw(t),
                    this._indicatorLastValueView.draw(t)
                }
                ,
                e.prototype.updateOverlay = function(t) {
                    this._overlayYAxisView.draw(t),
                    this._crosshairHorizontalLabelView.draw(t)
                }
                ,
                e
            }(ii)
              , xo = function() {
                function r(e) {
                    this._extremum = {
                        min: 0,
                        max: 0,
                        range: 0,
                        realMin: 0,
                        realMax: 0,
                        realRange: 0
                    },
                    this._prevExtremum = {
                        min: 0,
                        max: 0,
                        range: 0,
                        realMin: 0,
                        realMax: 0,
                        realRange: 0
                    },
                    this._ticks = [],
                    this._autoCalcTickFlag = !0,
                    this._parent = e
                }
                return r.prototype.getParent = function() {
                    return this._parent
                }
                ,
                r.prototype.buildTicks = function(e) {
                    return this._autoCalcTickFlag && (this._extremum = this.calcExtremum()),
                    !(this._prevExtremum.min === this._extremum.min && this._prevExtremum.max === this._extremum.max && !e) && (this._prevExtremum = this._extremum,
                    this._ticks = this.optimalTicks(this._calcTicks()),
                    !0)
                }
                ,
                r.prototype.getTicks = function() {
                    return this._ticks
                }
                ,
                r.prototype.setExtremum = function(e) {
                    this._autoCalcTickFlag = !1,
                    this._extremum = e
                }
                ,
                r.prototype.getExtremum = function() {
                    return this._extremum
                }
                ,
                r.prototype.setAutoCalcTickFlag = function(e) {
                    this._autoCalcTickFlag = e
                }
                ,
                r.prototype.getAutoCalcTickFlag = function() {
                    return this._autoCalcTickFlag
                }
                ,
                r.prototype._calcTicks = function() {
                    var e = this._extremum
                      , t = e.realMin
                      , i = e.realMax
                      , o = e.realRange
                      , s = [];
                    if (o >= 0) {
                        var u = q(this._calcTickInterval(o), 2)
                          , c = u[0]
                          , h = u[1]
                          , d = it(Math.ceil(t / c) * c, h)
                          , p = it(Math.floor(i / c) * c, h)
                          , g = 0
                          , y = d;
                        if (c !== 0)
                            for (; p >= y; ) {
                                var f = y.toFixed(h);
                                s[g] = {
                                    text: f,
                                    coord: 0,
                                    value: f
                                },
                                ++g,
                                y += c
                            }
                    }
                    return s
                }
                ,
                r.prototype._calcTickInterval = function(e) {
                    var t, i, o, s, u = (i = Math.floor(xt(t = e / 8)),
                    o = Tt(i),
                    t = (1.5 > (s = t / o) ? 1 : 2.5 > s ? 2 : 3.5 > s ? 3 : 4.5 > s ? 4 : 5.5 > s ? 5 : 6.5 > s ? 6 : 8) * o,
                    -20 > i ? t : +t.toFixed(0 > i ? -i : 0)), c = function(h) {
                        var d = "" + h
                          , p = d.indexOf("e");
                        if (p > 0) {
                            var g = +d.slice(p + 1);
                            return 0 > g ? -g : 0
                        }
                        var y = d.indexOf(".");
                        return 0 > y ? 0 : d.length - 1 - y
                    }(u);
                    return [u, c]
                }
                ,
                r
            }()
              , G1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.calcExtremum = function() {
                    var t, i, o, s, u, c = this.getParent(), h = c.getChart(), d = h.getChartStore(), p = Number.MAX_SAFE_INTEGER, g = Number.MIN_SAFE_INTEGER, y = [], f = !1, x = Number.MAX_SAFE_INTEGER, _ = Number.MIN_SAFE_INTEGER, w = Number.MAX_SAFE_INTEGER;
                    d.getIndicatorStore().getInstances(c.getId()).forEach(function(Ne) {
                        var Qe, Re, Ue;
                        f || (f = (Qe = Ne.shouldOhlc) !== null && Qe !== void 0 && Qe),
                        w = Math.min(w, Ne.precision),
                        Ne.minValue !== null && (x = Math.min(x, Ne.minValue)),
                        Ne.maxValue !== null && (_ = Math.max(_, Ne.maxValue)),
                        y.push({
                            figures: (Re = Ne.figures) !== null && Re !== void 0 ? Re : [],
                            result: (Ue = Ne.result) !== null && Ue !== void 0 ? Ue : []
                        })
                    });
                    var L = 4
                      , M = this.isInCandle();
                    if (M) {
                        var k = d.getPrecision().price;
                        L = w !== Number.MAX_SAFE_INTEGER ? Math.min(w, k) : k
                    } else
                        w !== Number.MAX_SAFE_INTEGER && (L = w);
                    var E = d.getVisibleDataList()
                      , D = h.getStyles().candle
                      , F = D.type === a.CandleType.Area
                      , N = D.area.value
                      , O = M && !F || !M && f;
                    E.forEach(function(Ne) {
                        var Qe = Ne.dataIndex
                          , Re = Ne.data;
                        if (O && (p = Math.min(p, Re.low),
                        g = Math.max(g, Re.high)),
                        M && F) {
                            var Ue = Re[N];
                            p = Math.min(p, Ue),
                            g = Math.max(g, Ue)
                        }
                        y.forEach(function(_t) {
                            var st, It = (st = _t.result[Qe]) !== null && st !== void 0 ? st : {};
                            _t.figures.forEach(function(bt) {
                                var Xe = It[bt.key];
                                T(Xe) && (p = Math.min(p, Xe),
                                g = Math.max(g, Xe))
                            })
                        })
                    }),
                    p !== Number.MAX_SAFE_INTEGER && g !== Number.MIN_SAFE_INTEGER ? (p = Math.min(x, p),
                    g = Math.max(_, g)) : (p = 0,
                    g = 10);
                    var z, U = this.getType();
                    switch (U) {
                    case a.YAxisType.Percentage:
                        var $ = (t = E[0]) === null || t === void 0 ? void 0 : t.data;
                        ($ == null ? void 0 : $.close) !== void 0 && (p = (p - $.close) / $.close * 100,
                        g = (g - $.close) / $.close * 100),
                        z = .01;
                        break;
                    case a.YAxisType.Log:
                        p = xt(p),
                        g = xt(g),
                        z = .05 * Tt(-L);
                        break;
                    default:
                        z = Tt(-L)
                    }
                    if (p === g || z > Math.abs(p - g)) {
                        var se = x === p
                          , te = _ === g;
                        p = se ? p : te ? p - 8 * z : p - 4 * z,
                        g = te ? g : se ? g + 8 * z : g + 4 * z
                    }
                    var ne = (o = (i = this.getParent().getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding().height) !== null && o !== void 0 ? o : 0
                      , ye = c.getOptions().gap
                      , Se = (s = ye == null ? void 0 : ye.top) !== null && s !== void 0 ? s : .2;
                    1 > Se || (Se /= ne);
                    var he = (u = ye == null ? void 0 : ye.bottom) !== null && u !== void 0 ? u : .1;
                    1 > he || (he /= ne);
                    var Me, Ee, qe, ke = Math.abs(g - p);
                    return ke = Math.abs((g += ke * Se) - (p -= ke * he)),
                    U === a.YAxisType.Log ? (Me = Tt(p),
                    Ee = Tt(g),
                    qe = Math.abs(Ee - Me)) : (Me = p,
                    Ee = g,
                    qe = ke),
                    {
                        min: p,
                        max: g,
                        range: ke,
                        realMin: Me,
                        realMax: Ee,
                        realRange: qe
                    }
                }
                ,
                e.prototype._innerConvertToPixel = function(t) {
                    var i, o, s = (o = (i = this.getParent().getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding().height) !== null && o !== void 0 ? o : 0, u = this.getExtremum(), c = (t - u.min) / u.range;
                    return this.isReverse() ? Math.round(c * s) : Math.round((1 - c) * s)
                }
                ,
                e.prototype.isInCandle = function() {
                    return this.getParent().getName() === "candle"
                }
                ,
                e.prototype.getType = function() {
                    return this.isInCandle() ? this.getParent().getChart().getStyles().yAxis.type : a.YAxisType.Normal
                }
                ,
                e.prototype.getPosition = function() {
                    return this.getParent().getChart().getStyles().yAxis.position
                }
                ,
                e.prototype.isReverse = function() {
                    return !!this.isInCandle() && this.getParent().getChart().getStyles().yAxis.reverse
                }
                ,
                e.prototype.isFromZero = function() {
                    var t = this.getParent().getChart().getStyles().yAxis
                      , i = t.inside;
                    return t.position === a.YAxisPosition.Left && i || t.position === a.YAxisPosition.Right && !i
                }
                ,
                e.prototype.optimalTicks = function(t) {
                    var i, o, s = this, u = this.getParent(), c = (o = (i = u.getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding().height) !== null && o !== void 0 ? o : 0, h = u.getChart().getChartStore(), d = h.getCustomApi(), p = [], g = this.getType(), y = h.getIndicatorStore().getInstances(u.getId()), f = h.getThousandsSeparator(), x = 0, _ = !1;
                    this.isInCandle() ? x = h.getPrecision().price : y.forEach(function(M) {
                        x = Math.max(x, M.precision),
                        _ || (_ = M.shouldFormatBigNumber)
                    });
                    var w, L = h.getStyles().xAxis.tickText.size;
                    return t.forEach(function(M) {
                        var k, E = M.value, D = s._innerConvertToPixel(+E);
                        switch (g) {
                        case a.YAxisType.Percentage:
                            k = "".concat(G(E, 2), "%");
                            break;
                        case a.YAxisType.Log:
                            D = s._innerConvertToPixel(xt(+E)),
                            k = G(E, x);
                            break;
                        default:
                            k = G(E, x),
                            _ && (k = d.formatBigNumber(E))
                        }
                        k = Ce(k, f),
                        D > L && c - L > D && (w !== void 0 && Math.abs(w - D) > 2 * L || w === void 0) && (p.push({
                            text: k,
                            coord: D,
                            value: E
                        }),
                        w = D)
                    }),
                    p
                }
                ,
                e.prototype.getAutoSize = function() {
                    var t = this.getParent()
                      , i = t.getChart()
                      , o = i.getStyles()
                      , s = o.yAxis
                      , u = s.size;
                    if (u !== "auto")
                        return u;
                    var c = i.getChartStore()
                      , h = c.getCustomApi()
                      , d = 0;
                    if (s.show && (s.axisLine.show && (d += s.axisLine.size),
                    s.tickLine.show && (d += s.tickLine.length),
                    s.tickText.show)) {
                        var p = 0;
                        this.getTicks().forEach(function(E) {
                            p = Math.max(p, xe(E.text, s.tickText.size, s.tickText.weight, s.tickText.family))
                        }),
                        d += s.tickText.marginStart + s.tickText.marginEnd + p
                    }
                    var g = o.crosshair
                      , y = 0;
                    if (g.show && g.horizontal.show && g.horizontal.text.show) {
                        var f = c.getIndicatorStore().getInstances(t.getId())
                          , x = 0
                          , _ = !1;
                        f.forEach(function(E) {
                            x = Math.max(E.precision, x),
                            _ || (_ = E.shouldFormatBigNumber)
                        });
                        var w = 2;
                        if (this.getType() !== a.YAxisType.Percentage)
                            if (this.isInCandle()) {
                                var L = c.getPrecision().price
                                  , M = o.indicator.lastValueMark;
                                w = M.show && M.text.show ? Math.max(x, L) : L
                            } else
                                w = x;
                        var k = G(this.getExtremum().max, w);
                        _ && (k = h.formatBigNumber(k)),
                        y += g.horizontal.text.paddingLeft + g.horizontal.text.paddingRight + 2 * g.horizontal.text.borderSize + xe(k, g.horizontal.text.size, g.horizontal.text.weight, g.horizontal.text.family)
                    }
                    return Math.max(d, y)
                }
                ,
                e.prototype.convertFromPixel = function(t) {
                    var i, o, s, u = (o = (i = this.getParent().getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding().height) !== null && o !== void 0 ? o : 0, c = this.getExtremum(), h = c.min, d = c.range, p = (this.isReverse() ? t / u : 1 - t / u) * d + h;
                    switch (this.getType()) {
                    case a.YAxisType.Percentage:
                        var g = (s = this.getParent().getChart().getChartStore().getVisibleDataList()[0]) === null || s === void 0 ? void 0 : s.data;
                        return (g == null ? void 0 : g.close) !== void 0 ? g.close * p / 100 + g.close : 0;
                    case a.YAxisType.Log:
                        return Tt(p);
                    default:
                        return p
                    }
                }
                ,
                e.prototype.convertToRealValue = function(t) {
                    var i = t;
                    return this.getType() === a.YAxisType.Log && (i = Tt(t)),
                    i
                }
                ,
                e.prototype.convertToPixel = function(t) {
                    var i, o = t;
                    switch (this.getType()) {
                    case a.YAxisType.Percentage:
                        var s = (i = this.getParent().getChart().getChartStore().getVisibleDataList()[0]) === null || i === void 0 ? void 0 : i.data;
                        (s == null ? void 0 : s.close) !== void 0 && (o = (t - s.close) / s.close * 100);
                        break;
                    case a.YAxisType.Log:
                        o = xt(t);
                        break;
                    default:
                        o = t
                    }
                    return this._innerConvertToPixel(o)
                }
                ,
                e.prototype.convertToNicePixel = function(t) {
                    var i, o, s = (o = (i = this.getParent().getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding().height) !== null && o !== void 0 ? o : 0, u = this.convertToPixel(t);
                    return Math.round(Math.max(.05 * s, Math.min(u, .98 * s)))
                }
                ,
                e
            }(xo)
              , _o = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return "indicator"
                }
                ,
                e.prototype.createAxisComponent = function() {
                    return new G1(this)
                }
                ,
                e.prototype.createMainWidget = function(t) {
                    return new fo(t,this)
                }
                ,
                e.prototype.createSeparatorWidget = function(t) {
                    return new M1(t,this)
                }
                ,
                e.prototype.creatYAxisWidget = function(t) {
                    return new X1(t,this)
                }
                ,
                e
            }(qi)
              , $1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return "candle"
                }
                ,
                e.prototype.createMainWidget = function(t) {
                    return new K1(t,this)
                }
                ,
                e.prototype.createSeparatorWidget = function() {
                    return null
                }
                ,
                e
            }(_o)
              , J1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.getAxisStyles = function(t) {
                    return t.xAxis
                }
                ,
                e.prototype.createAxisLine = function(t, i) {
                    var o = i.axisLine.size / 2;
                    return {
                        coordinates: [{
                            x: 0,
                            y: o
                        }, {
                            x: t.width,
                            y: o
                        }]
                    }
                }
                ,
                e.prototype.createTickLines = function(t, i, o) {
                    var s = o.tickLine
                      , u = o.axisLine.size;
                    return t.map(function(c) {
                        return {
                            coordinates: [{
                                x: c.coord,
                                y: 0
                            }, {
                                x: c.coord,
                                y: u + s.length
                            }]
                        }
                    })
                }
                ,
                e.prototype.createTickTexts = function(t, i, o) {
                    var s = o.tickText
                      , u = o.axisLine.size
                      , c = o.tickLine.length;
                    return t.map(function(h) {
                        return {
                            x: h.coord,
                            y: u + c + s.marginStart,
                            text: h.text,
                            align: "center",
                            baseline: "top"
                        }
                    })
                }
                ,
                e
            }(yo)
              , q1 = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.coordinateToPointTimestampDataIndexFlag = function() {
                    return !0
                }
                ,
                e.prototype.coordinateToPointValueFlag = function() {
                    return !1
                }
                ,
                e.prototype.getCompleteOverlays = function(t) {
                    return t.getInstances()
                }
                ,
                e.prototype.getProgressOverlay = function(t) {
                    return t.instance
                }
                ,
                e.prototype.getDefaultFigures = function(t, i, o, s, u, c, h, d, p, g) {
                    var y, f = [];
                    if (t.needDefaultXAxisFigure && t.id === ((y = g.instance) === null || y === void 0 ? void 0 : y.id)) {
                        var x = Number.MAX_SAFE_INTEGER
                          , _ = Number.MIN_SAFE_INTEGER;
                        i.forEach(function(w, L) {
                            x = Math.min(x, w.x),
                            _ = Math.max(_, w.x);
                            var M = t.points[L];
                            if (M.timestamp !== void 0) {
                                var k = c.formatDate(u, M.timestamp, "YYYY-MM-DD HH:mm", a.FormatDateType.Crosshair);
                                f.push({
                                    type: "rectText",
                                    attrs: {
                                        x: w.x,
                                        y: 0,
                                        text: k,
                                        align: "center"
                                    },
                                    ignoreEvent: !0
                                })
                            }
                        }),
                        i.length > 1 && f.unshift({
                            type: "rect",
                            attrs: {
                                x,
                                y: 0,
                                width: _ - x,
                                height: o.height
                            },
                            ignoreEvent: !0
                        })
                    }
                    return f
                }
                ,
                e.prototype.getFigures = function(t, i, o, s, u, c, h, d, p, g) {
                    var y, f;
                    return (f = (y = t.createXAxisFigures) === null || y === void 0 ? void 0 : y.call(t, {
                        overlay: t,
                        coordinates: i,
                        bounding: o,
                        barSpace: s,
                        precision: u,
                        thousandsSeparator: c,
                        dateTimeFormat: h,
                        defaultStyles: d,
                        xAxis: p,
                        yAxis: g
                    })) !== null && f !== void 0 ? f : []
                }
                ,
                e
            }(mo)
              , ea = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.compare = function(t) {
                    return t.kLineData !== void 0 && t.dataIndex === t.realDataIndex
                }
                ,
                e.prototype.getDirectionStyles = function(t) {
                    return t.vertical
                }
                ,
                e.prototype.getText = function(t, i) {
                    var o, s = (o = t.kLineData) === null || o === void 0 ? void 0 : o.timestamp;
                    return i.getCustomApi().formatDate(i.getTimeScaleStore().getDateTimeFormat(), s, "YYYY-MM-DD HH:mm", a.FormatDateType.Crosshair)
                }
                ,
                e.prototype.getTextAttrs = function(t, i, o, s, u, c) {
                    var h = o.realX;
                    return {
                        x: 0 > h - i / 2 - c.paddingLeft ? c.paddingLeft + i / 2 : h + i / 2 + c.paddingRight > s.width ? s.width - c.paddingRight - i / 2 : h,
                        y: 0,
                        text: t,
                        align: "center",
                        baseline: "top"
                    }
                }
                ,
                e
            }(Co)
              , ta = function(r) {
                function e(t, i) {
                    var o = r.call(this, t, i) || this;
                    return o._xAxisView = new J1(o),
                    o._overlayXAxisView = new q1(o),
                    o._crosshairVerticalLabelView = new ea(o),
                    o.getContainer().style.cursor = "ew-resize",
                    o.addChild(o._overlayXAxisView),
                    o
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return ot
                }
                ,
                e.prototype.updateMain = function(t) {
                    this._xAxisView.draw(t)
                }
                ,
                e.prototype.updateOverlay = function(t) {
                    this._overlayXAxisView.draw(t),
                    this._crosshairVerticalLabelView.draw(t)
                }
                ,
                e
            }(ii)
              , na = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.calcExtremum = function() {
                    var t = this.getParent().getChart().getChartStore().getTimeScaleStore().getVisibleRange()
                      , i = t.from
                      , o = t.to
                      , s = o - 1
                      , u = o - i;
                    return {
                        min: i,
                        max: s,
                        range: u,
                        realMin: i,
                        realMax: s,
                        realRange: u
                    }
                }
                ,
                e.prototype.optimalTicks = function(t) {
                    var i, o, s = this.getParent().getChart(), u = s.getChartStore(), c = u.getCustomApi().formatDate, h = [], d = t.length, p = u.getDataList();
                    if (d > 0) {
                        var g = u.getTimeScaleStore().getDateTimeFormat()
                          , y = s.getStyles().xAxis.tickText
                          , f = xe("00-00 00:00", y.size, y.weight, y.family)
                          , x = this.convertToPixel(parseInt(t[0].value, 10))
                          , _ = 1;
                        if (d > 1) {
                            var w = this.convertToPixel(parseInt(t[1].value, 10))
                              , L = Math.abs(w - x);
                            f > L && (_ = Math.ceil(f / L))
                        }
                        for (var M = 0; d > M; M += _) {
                            var k = parseInt(t[M].value, 10)
                              , E = p[k].timestamp
                              , D = c(g, E, "HH:mm", a.FormatDateType.XAxis);
                            M !== 0 && (D = (i = this._optimalTickLabel(c, g, E, p[parseInt(t[M - _].value, 10)].timestamp)) !== null && i !== void 0 ? i : D);
                            var F = this.convertToPixel(k);
                            h.push({
                                text: D,
                                coord: F,
                                value: E
                            })
                        }
                        if (h.length === 1)
                            h[0].text = c(g, h[0].value, "YYYY-MM-DD HH:mm", a.FormatDateType.XAxis);
                        else {
                            var N = h[0].value
                              , O = h[1].value;
                            if (h[2] !== void 0) {
                                var z = h[2].text;
                                /^[0-9]{2}-[0-9]{2}$/.test(z) ? h[0].text = c(g, N, "MM-DD", a.FormatDateType.XAxis) : /^[0-9]{4}-[0-9]{2}$/.test(z) ? h[0].text = c(g, N, "YYYY-MM", a.FormatDateType.XAxis) : /^[0-9]{4}$/.test(z) && (h[0].text = c(g, N, "YYYY", a.FormatDateType.XAxis))
                            } else
                                h[0].text = (o = this._optimalTickLabel(c, g, N, O)) !== null && o !== void 0 ? o : h[0].text
                        }
                    }
                    return h
                }
                ,
                e.prototype._optimalTickLabel = function(t, i, o, s) {
                    var u = t(i, o, "YYYY", a.FormatDateType.XAxis)
                      , c = t(i, o, "YYYY-MM", a.FormatDateType.XAxis)
                      , h = t(i, o, "MM-DD", a.FormatDateType.XAxis);
                    return u !== t(i, s, "YYYY", a.FormatDateType.XAxis) ? u : c !== t(i, s, "YYYY-MM", a.FormatDateType.XAxis) ? c : h !== t(i, s, "MM-DD", a.FormatDateType.XAxis) ? h : null
                }
                ,
                e.prototype.getAutoSize = function() {
                    var t = this.getParent().getChart().getStyles()
                      , i = t.xAxis
                      , o = i.size;
                    if (o !== "auto")
                        return o;
                    var s = t.crosshair
                      , u = 0;
                    i.show && (i.axisLine.show && (u += i.axisLine.size),
                    i.tickLine.show && (u += i.tickLine.length),
                    i.tickText.show && (u += i.tickText.marginStart + i.tickText.marginEnd + i.tickText.size));
                    var c = 0;
                    return s.show && s.vertical.show && s.vertical.text.show && (c += s.vertical.text.paddingTop + s.vertical.text.paddingBottom + 2 * s.vertical.text.borderSize + s.vertical.text.size),
                    Math.max(u, c)
                }
                ,
                e.prototype.convertFromPixel = function(t) {
                    return this.getParent().getChart().getChartStore().getTimeScaleStore().coordinateToDataIndex(t)
                }
                ,
                e.prototype.convertToPixel = function(t) {
                    return this.getParent().getChart().getChartStore().getTimeScaleStore().dataIndexToCoordinate(t)
                }
                ,
                e
            }(xo)
              , ia = function(r) {
                function e() {
                    return r !== null && r.apply(this, arguments) || this
                }
                return ee(e, r),
                e.prototype.getName = function() {
                    return "xAxis"
                }
                ,
                e.prototype.createAxisComponent = function() {
                    return new na(this)
                }
                ,
                e.prototype.createMainWidget = function(t) {
                    return new ta(t,this)
                }
                ,
                e
            }(qi);
            function bo() {
                var r;
                return typeof window < "u" && ((r = window.navigator.userAgent.toLowerCase().indexOf("firefox")) !== null && r !== void 0 ? r : -1) > -1
            }
            function li() {
                return typeof window < "u" && /iPhone|iPad|iPod/.test(window.navigator.platform)
            }
            var ci, oa = function() {
                function r(e, t, i) {
                    var o = this;
                    this._clickCount = 0,
                    this._clickTimeoutId = null,
                    this._clickCoordinate = {
                        x: -1 / 0,
                        y: 1 / 0
                    },
                    this._tapCount = 0,
                    this._tapTimeoutId = null,
                    this._tapCoordinate = {
                        x: -1 / 0,
                        y: 1 / 0
                    },
                    this._longTapTimeoutId = null,
                    this._longTapActive = !1,
                    this._mouseMoveStartCoordinate = null,
                    this._touchMoveStartCoordinate = null,
                    this._touchMoveExceededManhattanDistance = !1,
                    this._cancelClick = !1,
                    this._cancelTap = !1,
                    this._unsubscribeOutsideMouseEvents = null,
                    this._unsubscribeOutsideTouchEvents = null,
                    this._unsubscribeMobileSafariEvents = null,
                    this._unsubscribeMousemove = null,
                    this._unsubscribeMouseWheel = null,
                    this._unsubscribeContextMenu = null,
                    this._unsubscribeRootMouseEvents = null,
                    this._unsubscribeRootTouchEvents = null,
                    this._startPinchMiddleCoordinate = null,
                    this._startPinchDistance = 0,
                    this._pinchPrevented = !1,
                    this._preventTouchDragProcess = !1,
                    this._mousePressed = !1,
                    this._lastTouchEventTimeStamp = 0,
                    this._activeTouchId = null,
                    this._acceptMouseLeave = !li(),
                    this._onFirefoxOutsideMouseUp = function(s) {
                        o._mouseUpHandler(s)
                    }
                    ,
                    this._onMobileSafariDoubleClick = function(s) {
                        o._firesTouchEvents(s) ? (++o._tapCount,
                        o._tapTimeoutId !== null && o._tapCount > 1 && (30 > o._mouseTouchMoveWithDownInfo(o._getCoordinate(s), o._tapCoordinate).manhattanDistance && !o._cancelTap && o._processEvent(o._makeCompatEvent(s), o._handler.doubleTapEvent),
                        o._resetTapTimeout())) : (++o._clickCount,
                        o._clickTimeoutId !== null && o._clickCount > 1 && (5 > o._mouseTouchMoveWithDownInfo(o._getCoordinate(s), o._clickCoordinate).manhattanDistance && !o._cancelClick && o._processEvent(o._makeCompatEvent(s), o._handler.mouseDoubleClickEvent),
                        o._resetClickTimeout()))
                    }
                    ,
                    this._target = e,
                    this._handler = t,
                    this._options = i,
                    this._init()
                }
                return r.prototype.destroy = function() {
                    this._unsubscribeOutsideMouseEvents !== null && (this._unsubscribeOutsideMouseEvents(),
                    this._unsubscribeOutsideMouseEvents = null),
                    this._unsubscribeOutsideTouchEvents !== null && (this._unsubscribeOutsideTouchEvents(),
                    this._unsubscribeOutsideTouchEvents = null),
                    this._unsubscribeMousemove !== null && (this._unsubscribeMousemove(),
                    this._unsubscribeMousemove = null),
                    this._unsubscribeMouseWheel !== null && (this._unsubscribeMouseWheel(),
                    this._unsubscribeMouseWheel = null),
                    this._unsubscribeContextMenu !== null && (this._unsubscribeContextMenu(),
                    this._unsubscribeContextMenu = null),
                    this._unsubscribeRootMouseEvents !== null && (this._unsubscribeRootMouseEvents(),
                    this._unsubscribeRootMouseEvents = null),
                    this._unsubscribeRootTouchEvents !== null && (this._unsubscribeRootTouchEvents(),
                    this._unsubscribeRootTouchEvents = null),
                    this._unsubscribeMobileSafariEvents !== null && (this._unsubscribeMobileSafariEvents(),
                    this._unsubscribeMobileSafariEvents = null),
                    this._clearLongTapTimeout(),
                    this._resetClickTimeout()
                }
                ,
                r.prototype._mouseEnterHandler = function(e) {
                    var t, i, o, s = this;
                    (t = this._unsubscribeMousemove) === null || t === void 0 || t.call(this),
                    (i = this._unsubscribeMouseWheel) === null || i === void 0 || i.call(this),
                    (o = this._unsubscribeContextMenu) === null || o === void 0 || o.call(this);
                    var u = this._mouseMoveHandler.bind(this);
                    this._unsubscribeMousemove = function() {
                        s._target.removeEventListener("mousemove", u)
                    }
                    ,
                    this._target.addEventListener("mousemove", u);
                    var c = this._mouseWheelHandler.bind(this);
                    this._unsubscribeMouseWheel = function() {
                        s._target.removeEventListener("wheel", c)
                    }
                    ,
                    this._target.addEventListener("wheel", c, {
                        passive: !1
                    });
                    var h = this._contextMenuHandler.bind(this);
                    this._unsubscribeContextMenu = function() {
                        s._target.removeEventListener("contextmenu", h)
                    }
                    ,
                    this._target.addEventListener("contextmenu", h, {
                        passive: !1
                    }),
                    this._firesTouchEvents(e) || (this._processEvent(this._makeCompatEvent(e), this._handler.mouseEnterEvent),
                    this._acceptMouseLeave = !0)
                }
                ,
                r.prototype._resetClickTimeout = function() {
                    this._clickTimeoutId !== null && clearTimeout(this._clickTimeoutId),
                    this._clickCount = 0,
                    this._clickTimeoutId = null,
                    this._clickCoordinate = {
                        x: -1 / 0,
                        y: 1 / 0
                    }
                }
                ,
                r.prototype._resetTapTimeout = function() {
                    this._tapTimeoutId !== null && clearTimeout(this._tapTimeoutId),
                    this._tapCount = 0,
                    this._tapTimeoutId = null,
                    this._tapCoordinate = {
                        x: -1 / 0,
                        y: 1 / 0
                    }
                }
                ,
                r.prototype._mouseMoveHandler = function(e) {
                    this._mousePressed || this._touchMoveStartCoordinate !== null || this._firesTouchEvents(e) || (this._processEvent(this._makeCompatEvent(e), this._handler.mouseMoveEvent),
                    this._acceptMouseLeave = !0)
                }
                ,
                r.prototype._mouseWheelHandler = function(e) {
                    if (Math.abs(e.deltaX) > Math.abs(e.deltaY)) {
                        if (this._handler.mouseWheelHortEvent === void 0 || (this._preventDefault(e),
                        Math.abs(e.deltaX) === 0))
                            return;
                        this._handler.mouseWheelHortEvent(this._makeCompatEvent(e), -e.deltaX)
                    } else {
                        if (this._handler.mouseWheelVertEvent === void 0)
                            return;
                        var t = -e.deltaY / 100;
                        if (t === 0)
                            return;
                        switch (this._preventDefault(e),
                        e.deltaMode) {
                        case e.DOM_DELTA_PAGE:
                            t *= 120;
                            break;
                        case e.DOM_DELTA_LINE:
                            t *= 32
                        }
                        if (t !== 0) {
                            var i = Math.sign(t) * Math.min(1, Math.abs(t));
                            this._handler.mouseWheelVertEvent(this._makeCompatEvent(e), i)
                        }
                    }
                }
                ,
                r.prototype._contextMenuHandler = function(e) {
                    this._preventDefault(e)
                }
                ,
                r.prototype._touchMoveHandler = function(e) {
                    var t = this._touchWithId(e.changedTouches, this._activeTouchId);
                    if (t !== null && (this._lastTouchEventTimeStamp = this._eventTimeStamp(e),
                    this._startPinchMiddleCoordinate === null && !this._preventTouchDragProcess)) {
                        this._pinchPrevented = !0;
                        var i = this._mouseTouchMoveWithDownInfo(this._getCoordinate(t), this._touchMoveStartCoordinate)
                          , o = i.yOffset;
                        if (this._touchMoveExceededManhattanDistance || i.manhattanDistance >= 5) {
                            if (!this._touchMoveExceededManhattanDistance) {
                                var s = .5 * i.xOffset
                                  , u = o >= s && !this._options.treatVertDragAsPageScroll()
                                  , c = s > o && !this._options.treatHorzDragAsPageScroll();
                                u || c || (this._preventTouchDragProcess = !0),
                                this._touchMoveExceededManhattanDistance = !0,
                                this._cancelTap = !0,
                                this._clearLongTapTimeout(),
                                this._resetTapTimeout()
                            }
                            this._preventTouchDragProcess || this._processEvent(this._makeCompatEvent(e, t), this._handler.touchMoveEvent)
                        }
                    }
                }
                ,
                r.prototype._mouseMoveWithDownHandler = function(e) {
                    e.button === 0 && (5 > this._mouseTouchMoveWithDownInfo(this._getCoordinate(e), this._mouseMoveStartCoordinate).manhattanDistance || (this._cancelClick = !0,
                    this._resetClickTimeout()),
                    this._cancelClick && this._processEvent(this._makeCompatEvent(e), this._handler.pressedMouseMoveEvent))
                }
                ,
                r.prototype._mouseTouchMoveWithDownInfo = function(e, t) {
                    var i = Math.abs(t.x - e.x)
                      , o = Math.abs(t.y - e.y);
                    return {
                        xOffset: i,
                        yOffset: o,
                        manhattanDistance: i + o
                    }
                }
                ,
                r.prototype._touchEndHandler = function(e) {
                    var t = this._touchWithId(e.changedTouches, this._activeTouchId);
                    if (t === null && e.touches.length === 0 && (t = e.changedTouches[0]),
                    t !== null) {
                        this._activeTouchId = null,
                        this._lastTouchEventTimeStamp = this._eventTimeStamp(e),
                        this._clearLongTapTimeout(),
                        this._touchMoveStartCoordinate = null,
                        this._unsubscribeRootTouchEvents !== null && (this._unsubscribeRootTouchEvents(),
                        this._unsubscribeRootTouchEvents = null);
                        var i = this._makeCompatEvent(e, t);
                        this._processEvent(i, this._handler.touchEndEvent),
                        ++this._tapCount,
                        this._tapTimeoutId !== null && this._tapCount > 1 ? (30 > this._mouseTouchMoveWithDownInfo(this._getCoordinate(t), this._tapCoordinate).manhattanDistance && !this._cancelTap && this._processEvent(i, this._handler.doubleTapEvent),
                        this._resetTapTimeout()) : this._cancelTap || (this._processEvent(i, this._handler.tapEvent),
                        this._handler.tapEvent !== void 0 && this._preventDefault(e)),
                        this._tapCount === 0 && this._preventDefault(e),
                        e.touches.length === 0 && this._longTapActive && (this._longTapActive = !1,
                        this._preventDefault(e))
                    }
                }
                ,
                r.prototype._mouseUpHandler = function(e) {
                    if (e.button === 0) {
                        var t = this._makeCompatEvent(e);
                        this._mouseMoveStartCoordinate = null,
                        this._mousePressed = !1,
                        this._unsubscribeRootMouseEvents !== null && (this._unsubscribeRootMouseEvents(),
                        this._unsubscribeRootMouseEvents = null),
                        bo() && this._target.ownerDocument.documentElement.removeEventListener("mouseleave", this._onFirefoxOutsideMouseUp),
                        this._firesTouchEvents(e) || (this._processEvent(t, this._handler.mouseUpEvent),
                        ++this._clickCount,
                        this._clickTimeoutId !== null && this._clickCount > 1 ? (5 > this._mouseTouchMoveWithDownInfo(this._getCoordinate(e), this._clickCoordinate).manhattanDistance && !this._cancelClick && this._processEvent(t, this._handler.mouseDoubleClickEvent),
                        this._resetClickTimeout()) : this._cancelClick || this._processEvent(t, this._handler.mouseClickEvent))
                    }
                }
                ,
                r.prototype._clearLongTapTimeout = function() {
                    this._longTapTimeoutId !== null && (clearTimeout(this._longTapTimeoutId),
                    this._longTapTimeoutId = null)
                }
                ,
                r.prototype._touchStartHandler = function(e) {
                    if (this._activeTouchId === null) {
                        var t = e.changedTouches[0];
                        this._activeTouchId = t.identifier,
                        this._lastTouchEventTimeStamp = this._eventTimeStamp(e);
                        var i = this._target.ownerDocument.documentElement;
                        this._cancelTap = !1,
                        this._touchMoveExceededManhattanDistance = !1,
                        this._preventTouchDragProcess = !1,
                        this._touchMoveStartCoordinate = this._getCoordinate(t),
                        this._unsubscribeRootTouchEvents !== null && (this._unsubscribeRootTouchEvents(),
                        this._unsubscribeRootTouchEvents = null);
                        var o = this._touchMoveHandler.bind(this)
                          , s = this._touchEndHandler.bind(this);
                        this._unsubscribeRootTouchEvents = function() {
                            i.removeEventListener("touchmove", o),
                            i.removeEventListener("touchend", s)
                        }
                        ,
                        i.addEventListener("touchmove", o, {
                            passive: !1
                        }),
                        i.addEventListener("touchend", s, {
                            passive: !1
                        }),
                        this._clearLongTapTimeout(),
                        this._longTapTimeoutId = setTimeout(this._longTapHandler.bind(this, e), 500),
                        this._processEvent(this._makeCompatEvent(e, t), this._handler.touchStartEvent),
                        this._tapTimeoutId === null && (this._tapCount = 0,
                        this._tapTimeoutId = setTimeout(this._resetTapTimeout.bind(this), 500),
                        this._tapCoordinate = this._getCoordinate(t))
                    }
                }
                ,
                r.prototype._mouseDownHandler = function(e) {
                    if (e.button === 2)
                        return this._preventDefault(e),
                        void this._processEvent(this._makeCompatEvent(e), this._handler.mouseRightClickEvent);
                    if (e.button === 0) {
                        var t = this._target.ownerDocument.documentElement;
                        bo() && t.addEventListener("mouseleave", this._onFirefoxOutsideMouseUp),
                        this._cancelClick = !1,
                        this._mouseMoveStartCoordinate = this._getCoordinate(e),
                        this._unsubscribeRootMouseEvents !== null && (this._unsubscribeRootMouseEvents(),
                        this._unsubscribeRootMouseEvents = null);
                        var i = this._mouseMoveWithDownHandler.bind(this)
                          , o = this._mouseUpHandler.bind(this);
                        this._unsubscribeRootMouseEvents = function() {
                            t.removeEventListener("mousemove", i),
                            t.removeEventListener("mouseup", o)
                        }
                        ,
                        t.addEventListener("mousemove", i),
                        t.addEventListener("mouseup", o),
                        this._mousePressed = !0,
                        this._firesTouchEvents(e) || (this._processEvent(this._makeCompatEvent(e), this._handler.mouseDownEvent),
                        this._clickTimeoutId === null && (this._clickCount = 0,
                        this._clickTimeoutId = setTimeout(this._resetClickTimeout.bind(this), 500),
                        this._clickCoordinate = this._getCoordinate(e)))
                    }
                }
                ,
                r.prototype._init = function() {
                    var e = this;
                    this._target.addEventListener("mouseenter", this._mouseEnterHandler.bind(this)),
                    this._target.addEventListener("touchcancel", this._clearLongTapTimeout.bind(this));
                    var t = this._target.ownerDocument
                      , i = function(o) {
                        e._handler.mouseDownOutsideEvent != null && (o.composed && e._target.contains(o.composedPath()[0]) || o.target !== null && e._target.contains(o.target) || e._handler.mouseDownOutsideEvent({
                            x: 0,
                            y: 0,
                            pageX: 0,
                            pageY: 0
                        }))
                    };
                    this._unsubscribeOutsideTouchEvents = function() {
                        t.removeEventListener("touchstart", i)
                    }
                    ,
                    this._unsubscribeOutsideMouseEvents = function() {
                        t.removeEventListener("mousedown", i)
                    }
                    ,
                    t.addEventListener("mousedown", i),
                    t.addEventListener("touchstart", i, {
                        passive: !0
                    }),
                    li() && (this._unsubscribeMobileSafariEvents = function() {
                        e._target.removeEventListener("dblclick", e._onMobileSafariDoubleClick)
                    }
                    ,
                    this._target.addEventListener("dblclick", this._onMobileSafariDoubleClick)),
                    this._target.addEventListener("mouseleave", this._mouseLeaveHandler.bind(this)),
                    this._target.addEventListener("touchstart", this._touchStartHandler.bind(this), {
                        passive: !0
                    }),
                    this._target.addEventListener("mousedown", function(o) {
                        if (o.button === 1)
                            return o.preventDefault(),
                            !1
                    }),
                    this._target.addEventListener("mousedown", this._mouseDownHandler.bind(this)),
                    this._initPinch(),
                    this._target.addEventListener("touchmove", function() {}, {
                        passive: !1
                    })
                }
                ,
                r.prototype._initPinch = function() {
                    var e = this;
                    this._handler.pinchStartEvent === void 0 && this._handler.pinchEvent === void 0 && this._handler.pinchEndEvent === void 0 || (this._target.addEventListener("touchstart", function(t) {
                        return e._checkPinchState(t.touches)
                    }, {
                        passive: !0
                    }),
                    this._target.addEventListener("touchmove", function(t) {
                        if (t.touches.length === 2 && e._startPinchMiddleCoordinate !== null && e._handler.pinchEvent !== void 0) {
                            var i = e._getTouchDistance(t.touches[0], t.touches[1]) / e._startPinchDistance;
                            e._handler.pinchEvent(X(X({}, e._startPinchMiddleCoordinate), {
                                pageX: 0,
                                pageY: 0
                            }), i),
                            e._preventDefault(t)
                        }
                    }, {
                        passive: !1
                    }),
                    this._target.addEventListener("touchend", function(t) {
                        e._checkPinchState(t.touches)
                    }))
                }
                ,
                r.prototype._checkPinchState = function(e) {
                    e.length === 1 && (this._pinchPrevented = !1),
                    e.length !== 2 || this._pinchPrevented || this._longTapActive ? this._stopPinch() : this._startPinch(e)
                }
                ,
                r.prototype._startPinch = function(e) {
                    var t, i = (t = this._target.getBoundingClientRect()) !== null && t !== void 0 ? t : {
                        left: 0,
                        top: 0
                    };
                    this._startPinchMiddleCoordinate = {
                        x: (e[0].clientX - i.left + (e[1].clientX - i.left)) / 2,
                        y: (e[0].clientY - i.top + (e[1].clientY - i.top)) / 2
                    },
                    this._startPinchDistance = this._getTouchDistance(e[0], e[1]),
                    this._handler.pinchStartEvent !== void 0 && this._handler.pinchStartEvent({
                        x: 0,
                        y: 0,
                        pageX: 0,
                        pageY: 0
                    }),
                    this._clearLongTapTimeout()
                }
                ,
                r.prototype._stopPinch = function() {
                    this._startPinchMiddleCoordinate !== null && (this._startPinchMiddleCoordinate = null,
                    this._handler.pinchEndEvent !== void 0 && this._handler.pinchEndEvent({
                        x: 0,
                        y: 0,
                        pageX: 0,
                        pageY: 0
                    }))
                }
                ,
                r.prototype._mouseLeaveHandler = function(e) {
                    var t, i, o;
                    (t = this._unsubscribeMousemove) === null || t === void 0 || t.call(this),
                    (i = this._unsubscribeMouseWheel) === null || i === void 0 || i.call(this),
                    (o = this._unsubscribeContextMenu) === null || o === void 0 || o.call(this),
                    this._firesTouchEvents(e) || this._acceptMouseLeave && (this._processEvent(this._makeCompatEvent(e), this._handler.mouseLeaveEvent),
                    this._acceptMouseLeave = !li())
                }
                ,
                r.prototype._longTapHandler = function(e) {
                    var t = this._touchWithId(e.touches, this._activeTouchId);
                    t !== null && (this._processEvent(this._makeCompatEvent(e, t), this._handler.longTapEvent),
                    this._cancelTap = !0,
                    this._longTapActive = !0)
                }
                ,
                r.prototype._firesTouchEvents = function(e) {
                    var t;
                    return ((t = e.sourceCapabilities) === null || t === void 0 ? void 0 : t.firesTouchEvents) !== void 0 ? e.sourceCapabilities.firesTouchEvents : this._eventTimeStamp(e) < this._lastTouchEventTimeStamp + 500
                }
                ,
                r.prototype._processEvent = function(e, t) {
                    t == null || t.call(this._handler, e)
                }
                ,
                r.prototype._makeCompatEvent = function(e, t) {
                    var i, o = this, s = t ?? e, u = (i = this._target.getBoundingClientRect()) !== null && i !== void 0 ? i : {
                        left: 0,
                        top: 0
                    };
                    return {
                        x: s.clientX - u.left,
                        y: s.clientY - u.top,
                        pageX: s.pageX,
                        pageY: s.pageY,
                        isTouch: !e.type.startsWith("mouse") && e.type !== "contextmenu" && e.type !== "click",
                        preventDefault: function() {
                            e.type !== "touchstart" && o._preventDefault(e)
                        }
                    }
                }
                ,
                r.prototype._getTouchDistance = function(e, t) {
                    var i = e.clientX - t.clientX
                      , o = e.clientY - t.clientY;
                    return Math.sqrt(i * i + o * o)
                }
                ,
                r.prototype._preventDefault = function(e) {
                    e.cancelable && e.preventDefault()
                }
                ,
                r.prototype._getCoordinate = function(e) {
                    return {
                        x: e.pageX,
                        y: e.pageY
                    }
                }
                ,
                r.prototype._eventTimeStamp = function(e) {
                    var t;
                    return (t = e.timeStamp) !== null && t !== void 0 ? t : performance.now()
                }
                ,
                r.prototype._touchWithId = function(e, t) {
                    for (var i = 0; e.length > i; ++i)
                        if (e[i].identifier === t)
                            return e[i];
                    return null
                }
                ,
                r
            }(), ra = function() {
                function r(e, t) {
                    var i = this;
                    this._flingStartTime = new Date().getTime(),
                    this._flingScrollRequestId = null,
                    this._startScrollCoordinate = null,
                    this._touchCoordinate = null,
                    this._touchCancelCrosshair = !1,
                    this._touchZoomed = !1,
                    this._pinchScale = 1,
                    this._mouseDownWidget = null,
                    this._prevYAxisExtremum = null,
                    this._xAxisStartScaleCoordinate = null,
                    this._xAxisStartScaleDistance = 0,
                    this._xAxisScale = 1,
                    this._yAxisStartScaleDistance = 0,
                    this._mouseMoveTriggerWidgetInfo = {
                        pane: null,
                        widget: null
                    },
                    this._boundKeyBoardDownEvent = function(o) {
                        if (o.shiftKey)
                            switch (o.code) {
                            case "Equal":
                                i._chart.getChartStore().getTimeScaleStore().zoom(.5);
                                break;
                            case "Minus":
                                i._chart.getChartStore().getTimeScaleStore().zoom(-.5);
                                break;
                            case "ArrowLeft":
                                (s = i._chart.getChartStore().getTimeScaleStore()).startScroll(),
                                s.scroll(-3 * s.getBarSpace().bar);
                                break;
                            case "ArrowRight":
                                var s;
                                (s = i._chart.getChartStore().getTimeScaleStore()).startScroll(),
                                s.scroll(3 * s.getBarSpace().bar)
                            }
                    }
                    ,
                    this._container = e,
                    this._chart = t,
                    this._event = new oa(e,this,{
                        treatVertDragAsPageScroll: function() {
                            return !1
                        },
                        treatHorzDragAsPageScroll: function() {
                            return !1
                        }
                    }),
                    e.addEventListener("keydown", this._boundKeyBoardDownEvent)
                }
                return r.prototype.pinchStartEvent = function() {
                    return this._touchZoomed = !0,
                    this._pinchScale = 1,
                    !0
                }
                ,
                r.prototype.pinchEvent = function(e, t) {
                    var i = this._findWidgetByEvent(e)
                      , o = i.pane
                      , s = i.widget;
                    if ((o == null ? void 0 : o.getId()) !== Ze && (s == null ? void 0 : s.getName()) === je) {
                        var u = this._makeWidgetEvent(e, s)
                          , c = 5 * (t - this._pinchScale);
                        return this._pinchScale = t,
                        this._chart.getChartStore().getTimeScaleStore().zoom(c, {
                            x: u.x,
                            y: u.y
                        }),
                        !0
                    }
                    return !1
                }
                ,
                r.prototype.mouseWheelHortEvent = function(e, t) {
                    var i = this._chart.getChartStore().getTimeScaleStore();
                    return i.startScroll(),
                    i.scroll(t),
                    !0
                }
                ,
                r.prototype.mouseWheelVertEvent = function(e, t) {
                    var i, o, s = this._findWidgetByEvent(e).widget, u = (i = e.isTouch) !== null && i !== void 0 && i, c = this._makeWidgetEvent(e, s), h = null, d = s == null ? void 0 : s.getName();
                    if (u)
                        if (d === je || d === ot)
                            h = {
                                x: c.x,
                                y: c.y
                            };
                        else {
                            var p = (o = this._chart.getPaneById(We)) === null || o === void 0 ? void 0 : o.getBounding();
                            h = {
                                x: p.width / 2,
                                y: p.height / 2
                            }
                        }
                    else
                        d === je && (h = {
                            x: c.x,
                            y: c.y
                        });
                    return h !== null && (this._chart.getChartStore().getTimeScaleStore().zoom(t, {
                        x: c.x,
                        y: c.y
                    }),
                    !0)
                }
                ,
                r.prototype.mouseDownEvent = function(e) {
                    var t, i, o = this._findWidgetByEvent(e), s = o.pane, u = o.widget;
                    if (this._mouseDownWidget = u,
                    u !== null) {
                        var c = this._makeWidgetEvent(e, u);
                        switch (u.getName()) {
                        case ln:
                            return u.dispatchEvent("mouseDownEvent", c);
                        case je:
                            var h = (t = s == null ? void 0 : s.getAxisComponent().getExtremum()) !== null && t !== void 0 ? t : null;
                            return this._prevYAxisExtremum = h === null ? h : X({}, h),
                            this._startScrollCoordinate = {
                                x: c.x,
                                y: c.y
                            },
                            this._chart.getChartStore().getTimeScaleStore().startScroll(),
                            u.dispatchEvent("mouseDownEvent", c);
                        case ot:
                            return (d = u.dispatchEvent("mouseDownEvent", c)) && this._chart.updatePane(1),
                            this._xAxisStartScaleCoordinate = {
                                x: c.x,
                                y: c.y
                            },
                            this._xAxisStartScaleDistance = c.pageX,
                            d;
                        case rt:
                            var d;
                            return (d = u.dispatchEvent("mouseDownEvent", c)) && this._chart.updatePane(1),
                            h = (i = s == null ? void 0 : s.getAxisComponent().getExtremum()) !== null && i !== void 0 ? i : null,
                            this._prevYAxisExtremum = h === null ? h : X({}, h),
                            this._yAxisStartScaleDistance = c.pageY,
                            d
                        }
                    }
                    return !1
                }
                ,
                r.prototype.mouseMoveEvent = function(e) {
                    var t, i, o, s = this._findWidgetByEvent(e), u = s.pane, c = s.widget, h = this._makeWidgetEvent(e, c);
                    if (((t = this._mouseMoveTriggerWidgetInfo.pane) === null || t === void 0 ? void 0 : t.getId()) === (u == null ? void 0 : u.getId()) && ((i = this._mouseMoveTriggerWidgetInfo.widget) === null || i === void 0 ? void 0 : i.getName()) === (c == null ? void 0 : c.getName()) || (c == null || c.dispatchEvent("mouseEnterEvent", h),
                    (o = this._mouseMoveTriggerWidgetInfo.widget) === null || o === void 0 || o.dispatchEvent("mouseLeaveEvent", h),
                    this._mouseMoveTriggerWidgetInfo = {
                        pane: u,
                        widget: c
                    }),
                    c !== null)
                        switch (c.getName()) {
                        case je:
                            var d = c.dispatchEvent("mouseMoveEvent", h)
                              , p = this._chart.getChartStore()
                              , g = {
                                x: h.x,
                                y: h.y,
                                paneId: u == null ? void 0 : u.getId()
                            };
                            return d && p.getTooltipStore().getActiveIconInfo() !== null && (g = void 0,
                            c !== null && (c.getContainer().style.cursor = "pointer")),
                            this._chart.getChartStore().getCrosshairStore().set(g),
                            d;
                        case ln:
                        case ot:
                        case rt:
                            return d = c.dispatchEvent("mouseMoveEvent", h),
                            this._chart.getChartStore().getCrosshairStore().set(),
                            d
                        }
                    return !1
                }
                ,
                r.prototype.pressedMouseMoveEvent = function(e) {
                    var t, i, o, s;
                    if (this._mouseDownWidget !== null && this._mouseDownWidget.getName() === ln)
                        return this._mouseDownWidget.dispatchEvent("pressedMouseMoveEvent", e);
                    var u = this._findWidgetByEvent(e)
                      , c = u.pane
                      , h = u.widget;
                    if (h !== null && ((t = this._mouseDownWidget) === null || t === void 0 ? void 0 : t.getPane().getId()) === (c == null ? void 0 : c.getId()) && ((i = this._mouseDownWidget) === null || i === void 0 ? void 0 : i.getName()) === h.getName()) {
                        var d = this._makeWidgetEvent(e, h);
                        switch (h.getName()) {
                        case je:
                            var p = h.getBounding();
                            if (!(k = h.dispatchEvent("pressedMouseMoveEvent", d)) && this._startScrollCoordinate !== null) {
                                var g = c == null ? void 0 : c.getAxisComponent();
                                if (this._prevYAxisExtremum !== null && !g.getAutoCalcTickFlag()) {
                                    var y = this._prevYAxisExtremum
                                      , f = y.min
                                      , x = y.max + (F = (E = y.range) * (D = ((o = g == null ? void 0 : g.isReverse()) !== null && o !== void 0 && o ? this._startScrollCoordinate.y - d.y : d.y - this._startScrollCoordinate.y) / p.height))
                                      , _ = g.convertToRealValue(z = f + F)
                                      , w = g.convertToRealValue(x);
                                    g.setExtremum({
                                        min: z,
                                        max: x,
                                        range: x - z,
                                        realMin: _,
                                        realMax: w,
                                        realRange: w - _
                                    })
                                }
                                var L = d.x - this._startScrollCoordinate.x;
                                this._chart.getChartStore().getTimeScaleStore().scroll(L)
                            }
                            return this._chart.getChartStore().getCrosshairStore().set({
                                x: d.x,
                                y: d.y,
                                paneId: c == null ? void 0 : c.getId()
                            }),
                            k;
                        case ot:
                            if (k = h.dispatchEvent("pressedMouseMoveEvent", d))
                                this._chart.updatePane(1);
                            else {
                                var M = 10 * ((D = this._xAxisStartScaleDistance / d.pageX) - this._xAxisScale);
                                this._xAxisScale = D,
                                this._chart.getChartStore().getTimeScaleStore().zoom(M, (s = this._xAxisStartScaleCoordinate) !== null && s !== void 0 ? s : void 0)
                            }
                            return k;
                        case rt:
                            var k;
                            if (k = h.dispatchEvent("pressedMouseMoveEvent", d))
                                this._chart.updatePane(1);
                            else if (this._prevYAxisExtremum !== null) {
                                var E, D, F, N = this._prevYAxisExtremum, O = (E = N.range) * (D = d.pageY / this._yAxisStartScaleDistance), z = (f = N.min) - (F = (O - E) / 2);
                                x = N.max + F,
                                _ = (g = c == null ? void 0 : c.getAxisComponent()).convertToRealValue(z),
                                w = g.convertToRealValue(x),
                                g.setExtremum({
                                    min: z,
                                    max: x,
                                    range: O,
                                    realMin: _,
                                    realMax: w,
                                    realRange: w - _
                                }),
                                this._chart.adjustPaneViewport(!1, !0, !0, !0)
                            }
                            return k
                        }
                    }
                    return !1
                }
                ,
                r.prototype.mouseUpEvent = function(e) {
                    var t = this._findWidgetByEvent(e).widget
                      , i = !1;
                    if (t !== null) {
                        var o = this._makeWidgetEvent(e, t);
                        switch (t.getName()) {
                        case je:
                        case ln:
                        case ot:
                        case rt:
                            i = t.dispatchEvent("mouseUpEvent", o)
                        }
                        i && this._chart.updatePane(1)
                    }
                    return this._mouseDownWidget = null,
                    this._startScrollCoordinate = null,
                    this._prevYAxisExtremum = null,
                    this._xAxisStartScaleCoordinate = null,
                    this._xAxisStartScaleDistance = 0,
                    this._xAxisScale = 1,
                    this._yAxisStartScaleDistance = 0,
                    i
                }
                ,
                r.prototype.mouseClickEvent = function(e) {
                    var t = this._findWidgetByEvent(e).widget;
                    if (t !== null) {
                        var i = this._makeWidgetEvent(e, t);
                        return t.dispatchEvent("mouseClickEvent", i)
                    }
                    return !1
                }
                ,
                r.prototype.mouseRightClickEvent = function(e) {
                    var t = this._findWidgetByEvent(e).widget
                      , i = !1;
                    if (t !== null) {
                        var o = this._makeWidgetEvent(e, t);
                        switch (t.getName()) {
                        case je:
                        case ot:
                        case rt:
                            i = t.dispatchEvent("mouseRightClickEvent", o)
                        }
                        i && this._chart.updatePane(1)
                    }
                    return !1
                }
                ,
                r.prototype.mouseDoubleClickEvent = function(e) {
                    var t = this._findWidgetByEvent(e)
                      , i = t.pane
                      , o = t.widget;
                    if (o !== null)
                        switch (o.getName()) {
                        case je:
                            var s = this._makeWidgetEvent(e, o);
                            return o.dispatchEvent("mouseDoubleClickEvent", s);
                        case rt:
                            var u = i == null ? void 0 : i.getAxisComponent();
                            if (!u.getAutoCalcTickFlag())
                                return u.setAutoCalcTickFlag(!0),
                                this._chart.adjustPaneViewport(!1, !0, !0, !0),
                                !0
                        }
                    return !1
                }
                ,
                r.prototype.mouseLeaveEvent = function() {
                    return this._chart.getChartStore().getCrosshairStore().set(),
                    !0
                }
                ,
                r.prototype.touchStartEvent = function(e) {
                    var t = this._findWidgetByEvent(e)
                      , i = t.pane
                      , o = t.widget;
                    if (o !== null) {
                        var s = this._makeWidgetEvent(e, o);
                        switch (o.getName()) {
                        case je:
                            var u = this._chart.getChartStore()
                              , c = u.getCrosshairStore();
                            if (o.dispatchEvent("mouseDownEvent", s))
                                return this._touchCancelCrosshair = !0,
                                this._touchCoordinate = null,
                                c.set(void 0, !0),
                                this._chart.updatePane(1),
                                !0;
                            if (this._flingScrollRequestId !== null && (clearTimeout(this._flingScrollRequestId),
                            this._flingScrollRequestId = null),
                            this._flingStartTime = new Date().getTime(),
                            this._startScrollCoordinate = {
                                x: s.x,
                                y: s.y
                            },
                            u.getTimeScaleStore().startScroll(),
                            this._touchZoomed = !1,
                            this._touchCoordinate !== null) {
                                var h = s.x - this._touchCoordinate.x
                                  , d = s.y - this._touchCoordinate.y;
                                10 > Math.sqrt(h * h + d * d) ? (this._touchCoordinate = {
                                    x: s.x,
                                    y: s.y
                                },
                                c.set({
                                    x: s.x,
                                    y: s.y,
                                    paneId: i == null ? void 0 : i.getId()
                                })) : (this._touchCoordinate = null,
                                this._touchCancelCrosshair = !0,
                                c.set())
                            }
                            return !0;
                        case ot:
                        case rt:
                            var p = o.dispatchEvent("mouseDownEvent", s);
                            return p && this._chart.updatePane(1),
                            p
                        }
                    }
                    return !1
                }
                ,
                r.prototype.touchMoveEvent = function(e) {
                    var t, i, o, s = this._findWidgetByEvent(e), u = s.pane, c = s.widget;
                    if (c !== null) {
                        var h = this._makeWidgetEvent(e, c)
                          , d = c.getName()
                          , p = this._chart.getChartStore()
                          , g = p.getCrosshairStore();
                        switch (d) {
                        case je:
                            if (c.dispatchEvent("pressedMouseMoveEvent", h))
                                return (t = h.preventDefault) === null || t === void 0 || t.call(h),
                                g.set(void 0, !0),
                                this._chart.updatePane(1),
                                !0;
                            if (this._touchCoordinate !== null)
                                (i = h.preventDefault) === null || i === void 0 || i.call(h),
                                g.set({
                                    x: h.x,
                                    y: h.y,
                                    paneId: u == null ? void 0 : u.getId()
                                });
                            else if (this._startScrollCoordinate !== null && Math.abs(this._startScrollCoordinate.x - h.x) > this._startScrollCoordinate.y - h.y) {
                                var y = h.x - this._startScrollCoordinate.x;
                                p.getTimeScaleStore().scroll(y)
                            }
                            return !0;
                        case ot:
                        case rt:
                            var f = c.dispatchEvent("pressedMouseMoveEvent", h);
                            return f && ((o = h.preventDefault) === null || o === void 0 || o.call(h),
                            this._chart.updatePane(1)),
                            f
                        }
                    }
                    return !1
                }
                ,
                r.prototype.touchEndEvent = function(e) {
                    var t = this
                      , i = this._findWidgetByEvent(e).widget;
                    if (i !== null) {
                        var o = this._makeWidgetEvent(e, i);
                        switch (i.getName()) {
                        case je:
                            if (i.dispatchEvent("mouseUpEvent", o),
                            this._startScrollCoordinate !== null) {
                                var s = new Date().getTime() - this._flingStartTime
                                  , u = (o.x - this._startScrollCoordinate.x) / (s > 0 ? s : 1) * 20;
                                if (200 > s && Math.abs(u) > 0) {
                                    var c = this._chart.getChartStore().getTimeScaleStore()
                                      , h = function() {
                                        t._flingScrollRequestId = ti(function() {
                                            c.startScroll(),
                                            c.scroll(u),
                                            1 > Math.abs(u *= .975) ? t._flingScrollRequestId !== null && (ni(t._flingScrollRequestId),
                                            t._flingScrollRequestId = null) : h()
                                        })
                                    };
                                    h()
                                }
                            }
                            return !0;
                        case ot:
                        case rt:
                            i.dispatchEvent("mouseUpEvent", o) && this._chart.updatePane(1)
                        }
                    }
                    return !1
                }
                ,
                r.prototype.tapEvent = function(e) {
                    var t = this._findWidgetByEvent(e)
                      , i = t.pane
                      , o = t.widget
                      , s = !1;
                    if (o !== null) {
                        var u = this._makeWidgetEvent(e, o)
                          , c = o.dispatchEvent("mouseClickEvent", u);
                        if (o.getName() === je) {
                            var h = this._makeWidgetEvent(e, o)
                              , d = this._chart.getChartStore().getCrosshairStore();
                            c ? (this._touchCancelCrosshair = !0,
                            this._touchCoordinate = null,
                            d.set(void 0, !0),
                            s = !0) : (this._touchCancelCrosshair || this._touchZoomed || (this._touchCoordinate = {
                                x: h.x,
                                y: h.y
                            },
                            d.set({
                                x: h.x,
                                y: h.y,
                                paneId: i == null ? void 0 : i.getId()
                            }, !0),
                            s = !0),
                            this._touchCancelCrosshair = !1)
                        }
                        (s || c) && this._chart.updatePane(1)
                    }
                    return s
                }
                ,
                r.prototype.doubleTapEvent = function(e) {
                    return this.mouseDoubleClickEvent(e)
                }
                ,
                r.prototype.longTapEvent = function(e) {
                    var t = this._findWidgetByEvent(e)
                      , i = t.pane
                      , o = t.widget;
                    if (o !== null && o.getName() === je) {
                        var s = this._makeWidgetEvent(e, o);
                        return this._touchCoordinate = {
                            x: s.x,
                            y: s.y
                        },
                        this._chart.getChartStore().getCrosshairStore().set({
                            x: s.x,
                            y: s.y,
                            paneId: i == null ? void 0 : i.getId()
                        }),
                        !0
                    }
                    return !1
                }
                ,
                r.prototype._findWidgetByEvent = function(e) {
                    var t, i, o = this._chart.getAllPanes(), s = e.x, u = e.y, c = null;
                    try {
                        for (var h = tt(o), d = h.next(); !d.done; d = h.next()) {
                            var p = q(d.value, 2)[1]
                              , g = p.getBounding();
                            if (!(g.left > s || s > g.left + g.width || g.top > u || u > g.top + g.height)) {
                                c = p;
                                break
                            }
                        }
                    } catch (k) {
                        t = {
                            error: k
                        }
                    } finally {
                        try {
                            d && !d.done && (i = h.return) && i.call(h)
                        } finally {
                            if (t)
                                throw t.error
                        }
                    }
                    c === null && (c = this._chart.getPaneById(Ze));
                    var y = null;
                    if (c !== null) {
                        var f = c.getSeparatorWidget();
                        if (f !== null) {
                            var x = f.getBounding();
                            x.left > s || s > x.left + x.width || x.top > u || u > x.top + 7 || (y = f)
                        }
                        if (y === null) {
                            var _ = c.getMainWidget()
                              , w = _.getBounding();
                            w.left > s || s > w.left + w.width || w.top > u || u > w.top + w.height || (y = _)
                        }
                        if (y === null) {
                            var L = c.getYAxisWidget();
                            if (L !== null) {
                                var M = L.getBounding();
                                M.left > s || s > M.left + M.width || M.top > u || u > M.top + M.height || (y = L)
                            }
                        }
                    }
                    return {
                        pane: c,
                        widget: y
                    }
                }
                ,
                r.prototype._makeWidgetEvent = function(e, t) {
                    var i, o, s, u = (i = t == null ? void 0 : t.getBounding()) !== null && i !== void 0 ? i : null;
                    return X(X({}, e), {
                        x: e.x - ((o = u == null ? void 0 : u.left) !== null && o !== void 0 ? o : 0),
                        y: e.y - ((s = u == null ? void 0 : u.top) !== null && s !== void 0 ? s : 0)
                    })
                }
                ,
                r.prototype.destroy = function() {
                    this._container.removeEventListener("keydown", this._boundKeyBoardDownEvent),
                    this._event.destroy()
                }
                ,
                r
            }();
            a.DomPosition = void 0,
            (ci = a.DomPosition || (a.DomPosition = {})).Root = "root",
            ci.Main = "main",
            ci.YAxis = "yAxis";
            var wo = function() {
                function r(e, t) {
                    this._panes = new Map,
                    this._initContainer(e),
                    this._chartEvent = new ra(this._chartContainer,this),
                    this._chartStore = new I1(this,t),
                    this._xAxisPane = new ia(this._chartContainer,this,Ze),
                    this._panes.set(We, new $1(this._chartContainer,this,We)),
                    this.adjustPaneViewport(!0, !0, !0)
                }
                return r.prototype._initContainer = function(e) {
                    this._container = e,
                    this._chartContainer = R("div", {
                        position: "relative",
                        width: "100%",
                        outline: "none",
                        borderStyle: "none",
                        cursor: "crosshair",
                        boxSizing: "border-box",
                        userSelect: "none",
                        webkitUserSelect: "none",
                        msUserSelect: "none",
                        MozUserSelect: "none",
                        webkitTapHighlightColor: "transparent"
                    }),
                    this._chartContainer.tabIndex = 1,
                    e.appendChild(this._chartContainer)
                }
                ,
                r.prototype._measurePaneHeight = function() {
                    var e, t = this._container.offsetHeight, i = this._xAxisPane.getAxisComponent().getAutoSize(), o = t - i;
                    0 > o && (o = 0);
                    var s = 0;
                    this._panes.forEach(function(h) {
                        if (h.getId() !== We) {
                            var d = h.getBounding().height
                              , p = h.getOptions().minHeight;
                            p > d && (d = p),
                            s + d > o ? d = Math.max(o - (s = o), 0) : s += d,
                            h.setBounding({
                                height: d
                            })
                        }
                    });
                    var u = o - s;
                    (e = this._panes.get(We)) === null || e === void 0 || e.setBounding({
                        height: u
                    });
                    var c = 0;
                    this._panes.forEach(function(h) {
                        h.setBounding({
                            top: c
                        }),
                        c += h.getBounding().height
                    }),
                    this._xAxisPane.setBounding({
                        height: i,
                        top: c
                    })
                }
                ,
                r.prototype._measurePaneWidth = function() {
                    var e = this._chartStore.getStyles().yAxis
                      , t = e.position === a.YAxisPosition.Left
                      , i = !e.inside
                      , o = this._container.offsetWidth
                      , s = 0
                      , u = Number.MIN_SAFE_INTEGER
                      , c = 0
                      , h = 0;
                    this._panes.forEach(function(y) {
                        u = Math.max(u, y.getAxisComponent().getAutoSize())
                    }),
                    u > o && (u = o),
                    i ? (s = o - u,
                    t ? (c = 0,
                    h = u) : (c = o - u,
                    h = 0)) : (s = o,
                    h = 0,
                    c = t ? 0 : o - u),
                    this._chartStore.getTimeScaleStore().setTotalBarSpace(s);
                    var d = {
                        width: o
                    }
                      , p = {
                        width: s,
                        left: h
                    }
                      , g = {
                        width: u,
                        left: c
                    };
                    this._panes.forEach(function(y) {
                        y.setBounding(d, p, g)
                    }),
                    this._xAxisPane.setBounding(d, p, g)
                }
                ,
                r.prototype._setPaneOptions = function(e, t) {
                    var i, o, s = this._panes.get((i = e == null ? void 0 : e.id) !== null && i !== void 0 ? i : ""), u = !1;
                    if (s !== void 0) {
                        var c = t;
                        if (e.id !== We && e.height !== void 0 && e.height > 0) {
                            var h = Math.max((o = e.minHeight) !== null && o !== void 0 ? o : s.getOptions().minHeight, 0);
                            s.setBounding({
                                height: Math.max(h, e.height)
                            }),
                            c = !0,
                            u = !0
                        }
                        s.setOptions(e),
                        c && this.adjustPaneViewport(u, !0, !0, !0, !0)
                    }
                }
                ,
                r.prototype.getContainer = function() {
                    return this._container
                }
                ,
                r.prototype.getChartStore = function() {
                    return this._chartStore
                }
                ,
                r.prototype.getAllPanes = function() {
                    return this._panes
                }
                ,
                r.prototype.adjustPaneViewport = function(e, t, i, o, s) {
                    e && this._measurePaneHeight();
                    var u = t
                      , c = s != null && s;
                    (o != null && o || c) && this._panes.forEach(function(h) {
                        var d = h.getAxisComponent().buildTicks(c);
                        u || (u = d)
                    }),
                    u && this._measurePaneWidth(),
                    i != null && i && (this._xAxisPane.getAxisComponent().buildTicks(!0),
                    this.updatePane(4))
                }
                ,
                r.prototype.updatePane = function(e, t) {
                    var i;
                    t !== void 0 ? (i = this.getPaneById(t)) === null || i === void 0 || i.update(e) : (this._xAxisPane.update(e),
                    this._panes.forEach(function(o) {
                        o.update(e)
                    }))
                }
                ,
                r.prototype.getPaneById = function(e) {
                    var t;
                    return e === Ze ? this._xAxisPane : (t = this._panes.get(e)) !== null && t !== void 0 ? t : null
                }
                ,
                r.prototype.crosshairChange = function(e) {
                    var t = this
                      , i = this._chartStore.getActionStore();
                    if (i.has(a.ActionType.OnCrosshairChange)) {
                        var o = {};
                        this._panes.forEach(function(s, u) {
                            var c = {};
                            t._chartStore.getIndicatorStore().getInstances(u).forEach(function(h) {
                                var d, p = h.result;
                                c[h.name] = p[(d = e.dataIndex) !== null && d !== void 0 ? d : p.length - 1]
                            }),
                            o[u] = c
                        }),
                        e.paneId !== void 0 && i.execute(a.ActionType.OnCrosshairChange, X(X({}, e), {
                            indicatorData: o
                        }))
                    }
                }
                ,
                r.prototype.getDom = function(e, t) {
                    var i, o;
                    if (e === void 0)
                        return this._chartContainer;
                    var s = this.getPaneById(e);
                    if (s !== null)
                        switch (t ?? a.DomPosition.Root) {
                        case a.DomPosition.Root:
                            return s.getContainer();
                        case a.DomPosition.Main:
                            return s.getMainWidget().getContainer();
                        case a.DomPosition.YAxis:
                            return (o = (i = s.getYAxisWidget()) === null || i === void 0 ? void 0 : i.getContainer()) !== null && o !== void 0 ? o : null
                        }
                    return null
                }
                ,
                r.prototype.getSize = function(e, t) {
                    var i, o;
                    if (e === void 0)
                        return {
                            width: this._chartContainer.offsetWidth,
                            height: this._chartContainer.offsetHeight,
                            left: 0,
                            top: 0,
                            right: 0,
                            bottom: 0
                        };
                    var s = this.getPaneById(e);
                    if (s !== null)
                        switch (t ?? a.DomPosition.Root) {
                        case a.DomPosition.Root:
                            return s.getBounding();
                        case a.DomPosition.Main:
                            return s.getMainWidget().getBounding();
                        case a.DomPosition.YAxis:
                            return (o = (i = s.getYAxisWidget()) === null || i === void 0 ? void 0 : i.getBounding()) !== null && o !== void 0 ? o : null
                        }
                    return null
                }
                ,
                r.prototype.setStyles = function(e) {
                    var t, i, o;
                    this._chartStore.setOptions({
                        styles: e
                    }),
                    ((t = (o = B(e) ? to(e) : e) == null ? void 0 : o.yAxis) === null || t === void 0 ? void 0 : t.type) !== void 0 && ((i = this.getPaneById(We)) === null || i === void 0 || i.getAxisComponent().setAutoCalcTickFlag(!0)),
                    this.adjustPaneViewport(!0, !0, !0, !0, !0)
                }
                ,
                r.prototype.getStyles = function() {
                    return this._chartStore.getStyles()
                }
                ,
                r.prototype.setLocale = function(e) {
                    this._chartStore.setOptions({
                        locale: e
                    }),
                    this.adjustPaneViewport(!0, !0, !0, !0, !0)
                }
                ,
                r.prototype.getLocale = function() {
                    return this._chartStore.getLocale()
                }
                ,
                r.prototype.setCustomApi = function(e) {
                    this._chartStore.setOptions({
                        customApi: e
                    }),
                    this.adjustPaneViewport(!0, !0, !0, !0, !0)
                }
                ,
                r.prototype.setPriceVolumePrecision = function(e, t) {
                    this._chartStore.setPrecision({
                        price: e,
                        volume: t
                    })
                }
                ,
                r.prototype.getPriceVolumePrecision = function() {
                    return this._chartStore.getPrecision()
                }
                ,
                r.prototype.setTimezone = function(e) {
                    this._chartStore.setOptions({
                        timezone: e
                    }),
                    this._xAxisPane.getAxisComponent().buildTicks(!0),
                    this._xAxisPane.update(3)
                }
                ,
                r.prototype.getTimezone = function() {
                    return this._chartStore.getTimeScaleStore().getTimezone()
                }
                ,
                r.prototype.setOffsetRightDistance = function(e) {
                    this._chartStore.getTimeScaleStore().setOffsetRightDistance(e, !0)
                }
                ,
                r.prototype.getOffsetRightDistance = function() {
                    return this._chartStore.getTimeScaleStore().getOffsetRightDistance()
                }
                ,
                r.prototype.setLeftMinVisibleBarCount = function(e) {
                    e > 0 && this._chartStore.getTimeScaleStore().setLeftMinVisibleBarCount(Math.ceil(e))
                }
                ,
                r.prototype.setRightMinVisibleBarCount = function(e) {
                    e > 0 && this._chartStore.getTimeScaleStore().setRightMinVisibleBarCount(Math.ceil(e))
                }
                ,
                r.prototype.setBarSpace = function(e) {
                    this._chartStore.getTimeScaleStore().setBarSpace(e)
                }
                ,
                r.prototype.getBarSpace = function() {
                    return this._chartStore.getTimeScaleStore().getBarSpace().bar
                }
                ,
                r.prototype.getVisibleRange = function() {
                    return this._chartStore.getTimeScaleStore().getVisibleRange()
                }
                ,
                r.prototype.clearData = function() {
                    this._chartStore.clearDataList()
                }
                ,
                r.prototype.getDataList = function() {
                    return this._chartStore.getDataList()
                }
                ,
                r.prototype.applyNewData = function(e, t, i) {
                    this._chartStore.clearDataList(),
                    e.length === 0 ? this.adjustPaneViewport(!1, !0, !0, !0) : this.applyMoreData(e, t, i)
                }
                ,
                r.prototype.applyMoreData = function(e, t, i) {
                    var o = this;
                    this._chartStore.addData(e, 0, t),
                    e.length > 0 && this._chartStore.getIndicatorStore().calcInstance().then(function(s) {
                        o.adjustPaneViewport(!1, !0, !0, !0),
                        i == null || i()
                    }).catch(function(s) {})
                }
                ,
                r.prototype.updateData = function(e, t) {
                    var i = this
                      , o = this._chartStore.getDataList()
                      , s = o.length
                      , u = e.timestamp
                      , c = ue(o[s - 1], "timestamp", 0);
                    if (u >= c) {
                        var h = s;
                        u === c && (h = s - 1),
                        this._chartStore.addData(e, h),
                        this._chartStore.getIndicatorStore().calcInstance().then(function(d) {
                            i.adjustPaneViewport(!1, !0, !0, !0),
                            t == null || t()
                        }).catch(function(d) {})
                    }
                }
                ,
                r.prototype.loadMore = function(e) {
                    this._chartStore.getTimeScaleStore().setLoadMoreCallback(e)
                }
                ,
                r.prototype.createIndicator = function(e, t, i, o) {
                    var s, u, c, h = this, d = B(e) ? {
                        name: e
                    } : e;
                    if (Qi(d.name) === null)
                        return null;
                    if ((i == null ? void 0 : i.id) !== void 0 && this._panes.has(i.id))
                        c = i.id,
                        this._chartStore.getIndicatorStore().addInstance(d, c, t != null && t).then(function(f) {
                            var x, _;
                            h._setPaneOptions(i, (_ = (x = h._panes.get(c)) === null || x === void 0 ? void 0 : x.getAxisComponent().buildTicks(!0)) !== null && _ !== void 0 && _)
                        }).catch(function(f) {});
                    else {
                        c = (s = i == null ? void 0 : i.id) !== null && s !== void 0 ? s : V(A1);
                        var p = Array.from(this._panes.values()).pop()
                          , g = new _o(this._chartContainer,this,c,p);
                        p.setBottomPane(g);
                        var y = (u = i == null ? void 0 : i.height) !== null && u !== void 0 ? u : 100;
                        g.setBounding({
                            height: y
                        }),
                        i != null && g.setOptions(i),
                        this._panes.set(c, g),
                        this._chartStore.getIndicatorStore().addInstance(d, c, t != null && t).finally(function() {
                            h.adjustPaneViewport(!0, !0, !0, !0, !0),
                            o == null || o()
                        })
                    }
                    return c
                }
                ,
                r.prototype.overrideIndicator = function(e, t, i) {
                    var o = this;
                    this._chartStore.getIndicatorStore().override(e, t ?? null).then(function(s) {
                        var u = q(s, 2)
                          , c = u[1];
                        (u[0] || c) && (o.adjustPaneViewport(!1, c, !0, c),
                        i == null || i())
                    }).catch(function() {})
                }
                ,
                r.prototype.getIndicatorByPaneId = function(e, t) {
                    return this._chartStore.getIndicatorStore().getInstanceByPaneId(e, t)
                }
                ,
                r.prototype.removeIndicator = function(e, t) {
                    var i = this._chartStore.getIndicatorStore();
                    if (i.removeInstance(e, t)) {
                        var o = !1;
                        if (e !== We && !i.hasInstances(e)) {
                            var s = this._panes.get(e);
                            if (s !== void 0) {
                                o = !0;
                                var u = s.getTopPane()
                                  , c = s.getBottomPane();
                                c == null || c.setTopPane(u),
                                u == null || u.setBottomPane(c),
                                s == null || s.destroy(),
                                this._panes.delete(e)
                            }
                        }
                        this.adjustPaneViewport(o, !0, !0, !0, !0)
                    }
                }
                ,
                r.prototype.createOverlay = function(e, t) {
                    var i = B(e) ? {
                        name: e
                    } : e;
                    if (Gi(i.name) === null)
                        return null;
                    var o = !0;
                    return t !== void 0 && this.getPaneById(t) !== null || (t = We,
                    o = !1),
                    this._chartStore.getOverlayStore().addInstance(i, t, o)
                }
                ,
                r.prototype.getOverlayById = function(e) {
                    return this._chartStore.getOverlayStore().getInstanceById(e)
                }
                ,
                r.prototype.overrideOverlay = function(e) {
                    this._chartStore.getOverlayStore().override(e)
                }
                ,
                r.prototype.removeOverlay = function(e) {
                    var t;
                    e !== void 0 && (t = B(e) ? {
                        id: e
                    } : e),
                    this._chartStore.getOverlayStore().removeInstance(t)
                }
                ,
                r.prototype.setPaneOptions = function(e) {
                    this._setPaneOptions(e, !1)
                }
                ,
                r.prototype.setZoomEnabled = function(e) {
                    this._chartStore.getTimeScaleStore().setZoomEnabled(e)
                }
                ,
                r.prototype.isZoomEnabled = function() {
                    return this._chartStore.getTimeScaleStore().getZoomEnabled()
                }
                ,
                r.prototype.setScrollEnabled = function(e) {
                    this._chartStore.getTimeScaleStore().setScrollEnabled(e)
                }
                ,
                r.prototype.isScrollEnabled = function() {
                    return this._chartStore.getTimeScaleStore().getScrollEnabled()
                }
                ,
                r.prototype.scrollByDistance = function(e, t) {
                    var i = t === void 0 || 0 > t ? 0 : t
                      , o = this._chartStore.getTimeScaleStore();
                    if (i > 0) {
                        o.startScroll();
                        var s = new Date().getTime()
                          , u = function() {
                            var c = (new Date().getTime() - s) / i
                              , h = c >= 1;
                            o.scroll(h ? e : e * c),
                            h || requestAnimationFrame(u)
                        };
                        u()
                    } else
                        o.startScroll(),
                        o.scroll(e)
                }
                ,
                r.prototype.scrollToRealTime = function(e) {
                    var t = this._chartStore.getTimeScaleStore()
                      , i = t.getBarSpace().bar
                      , o = t.getOffsetRightBarCount() - t.getInitialOffsetRightDistance() / i;
                    this.scrollByDistance(o * i, e)
                }
                ,
                r.prototype.scrollToDataIndex = function(e, t) {
                    var i = this._chartStore.getTimeScaleStore()
                      , o = (i.getOffsetRightBarCount() + (this.getDataList().length - 1 - e)) * i.getBarSpace().bar;
                    this.scrollByDistance(o, t)
                }
                ,
                r.prototype.scrollToTimestamp = function(e, t) {
                    var i = Be(this.getDataList(), "timestamp", e);
                    this.scrollToDataIndex(i, t)
                }
                ,
                r.prototype.zoomAtCoordinate = function(e, t, i) {
                    var o = i === void 0 || 0 > i ? 0 : i
                      , s = this._chartStore.getTimeScaleStore();
                    if (o > 0) {
                        var u = s.getBarSpace().bar
                          , c = u * e - u
                          , h = new Date().getTime()
                          , d = function() {
                            var p = (new Date().getTime() - h) / o
                              , g = p >= 1;
                            s.zoom((g ? c : c * p) / u, t),
                            g || requestAnimationFrame(d)
                        };
                        d()
                    } else
                        s.zoom(e, t)
                }
                ,
                r.prototype.zoomAtDataIndex = function(e, t, i) {
                    var o = this._chartStore.getTimeScaleStore().dataIndexToCoordinate(t);
                    this.zoomAtCoordinate(e, {
                        x: o,
                        y: 0
                    }, i)
                }
                ,
                r.prototype.zoomAtTimestamp = function(e, t, i) {
                    var o = Be(this.getDataList(), "timestamp", t);
                    this.zoomAtDataIndex(e, o, i)
                }
                ,
                r.prototype.convertToPixel = function(e, t) {
                    var i, o = t.paneId, s = o === void 0 ? We : o, u = t.absolute, c = u !== void 0 && u, h = [];
                    if (s !== Ze) {
                        var d = this.getPaneById(s);
                        if (d !== null) {
                            var p = this._chartStore.getTimeScaleStore()
                              , g = d.getBounding()
                              , y = [].concat(e)
                              , f = this._xAxisPane.getAxisComponent()
                              , x = d.getAxisComponent();
                            h = y.map(function(_) {
                                var w = {}
                                  , L = _.dataIndex;
                                if (_.timestamp !== void 0 && (L = p.timestampToDataIndex(_.timestamp)),
                                L !== void 0 && (w.x = f == null ? void 0 : f.convertToPixel(L)),
                                _.value !== void 0) {
                                    var M = x == null ? void 0 : x.convertToPixel(_.value);
                                    w.y = c ? g.top + M : M
                                }
                                return w
                            })
                        }
                    }
                    return C(e) ? h : (i = h[0]) !== null && i !== void 0 ? i : {}
                }
                ,
                r.prototype.convertFromPixel = function(e, t) {
                    var i, o = t.paneId, s = o === void 0 ? We : o, u = t.absolute, c = u !== void 0 && u, h = [];
                    if (s !== Ze) {
                        var d = this.getPaneById(s);
                        if (d !== null) {
                            var p = this._chartStore.getTimeScaleStore()
                              , g = d.getBounding()
                              , y = [].concat(e)
                              , f = this._xAxisPane.getAxisComponent()
                              , x = d.getAxisComponent();
                            h = y.map(function(_) {
                                var w, L = {};
                                if (_.x !== void 0) {
                                    var M = f.convertFromPixel(_.x);
                                    L.dataIndex = M,
                                    L.timestamp = (w = p.dataIndexToTimestamp(M)) !== null && w !== void 0 ? w : void 0
                                }
                                return _.y !== void 0 && (L.value = x.convertFromPixel(c ? _.y - g.top : _.y)),
                                L
                            })
                        }
                    }
                    return C(e) ? h : (i = h[0]) !== null && i !== void 0 ? i : {}
                }
                ,
                r.prototype.executeAction = function(e, t) {
                    var i;
                    if (e === a.ActionType.OnCrosshairChange) {
                        var o = X({}, t);
                        o.paneId = (i = o.paneId) !== null && i !== void 0 ? i : We,
                        this._chartStore.getCrosshairStore().set(o)
                    }
                }
                ,
                r.prototype.subscribeAction = function(e, t) {
                    this._chartStore.getActionStore().subscribe(e, t)
                }
                ,
                r.prototype.unsubscribeAction = function(e, t) {
                    this._chartStore.getActionStore().unsubscribe(e, t)
                }
                ,
                r.prototype.getConvertPictureUrl = function(e, t, i) {
                    var o = this._chartContainer.offsetWidth
                      , s = this._chartContainer.offsetHeight
                      , u = R("canvas", {
                        width: "".concat(o, "px"),
                        height: "".concat(s, "px"),
                        boxSizing: "border-box"
                    })
                      , c = u.getContext("2d")
                      , h = j(u);
                    u.width = o * h,
                    u.height = s * h,
                    c.scale(h, h),
                    c.fillStyle = i ?? "#FFFFFF",
                    c.fillRect(0, 0, o, s);
                    var d = e != null && e;
                    this._panes.forEach(function(g) {
                        var y = g.getBounding();
                        c.drawImage(g.getImage(d), 0, y.top, o, y.height)
                    });
                    var p = this._xAxisPane.getBounding();
                    return c.drawImage(this._xAxisPane.getImage(d), 0, p.top, o, p.height),
                    u.toDataURL("image/".concat(t ?? "jpeg"))
                }
                ,
                r.prototype.resize = function() {
                    this.adjustPaneViewport(!0, !0, !0, !0, !0)
                }
                ,
                r.prototype.destroy = function() {
                    this._chartEvent.destroy(),
                    this._panes.forEach(function(e) {
                        e.destroy()
                    }),
                    this._panes.clear(),
                    this._xAxisPane.destroy(),
                    this._container.removeChild(this._chartContainer)
                }
                ,
                r
            }()
              , wn = {}
              , aa = 1
              , sa = {
                clone: m,
                merge: v,
                isString: B,
                isNumber: A,
                isValid: T,
                isObject: b,
                isArray: C,
                isFunction: S,
                isBoolean: I,
                formatValue: ue,
                formatPrecision: G,
                formatBigNumber: fe,
                formatDate: ae,
                formatThousands: Ce,
                getLinearSlopeIntercept: xn,
                getLinearYFromSlopeIntercept: qn,
                getLinearYFromCoordinates: sn,
                checkCoordinateOnArc: uo,
                checkCoordinateOnCircle: io,
                checkCoordinateOnLine: Hi,
                checkCoordinateOnPolygon: ro,
                checkCoordinateOnRect: so,
                checkCoordinateOnText: ri,
                drawArc: ho,
                drawCircle: oo,
                drawLine: Ui,
                drawPolygon: ao,
                drawRect: oi,
                drawText: ai,
                drawRectText: co
            };
            a.dispose = function(r) {
                var e, t;
                if (B(r)) {
                    var i = document.getElementById(r);
                    t = (e = i == null ? void 0 : i.getAttribute("chartId")) !== null && e !== void 0 ? e : null
                } else
                    t = r instanceof wo ? r.id : r ?? r.chartId;
                t !== null && (wn[t].destroy(),
                delete wn[t])
            }
            ,
            a.getFigureClass = function(r) {
                var e;
                return (e = cn[r]) !== null && e !== void 0 ? e : null
            }
            ,
            a.getSupportedFigures = function() {
                return Object.keys(cn)
            }
            ,
            a.getSupportedIndicators = function() {
                return Object.keys(Cn)
            }
            ,
            a.getSupportedLocales = function() {
                return Object.keys(bn)
            }
            ,
            a.getSupportedOverlays = function() {
                return Object.keys(_n)
            }
            ,
            a.init = function(r, e) {
                var t, i;
                if ((i = B(r) ? document.getElementById(r) : r) === null)
                    return null;
                var o = wn[(t = i.chartId) !== null && t !== void 0 ? t : ""];
                if (o !== void 0)
                    return o;
                var s = "k_line_chart_".concat(aa++);
                return (o = new wo(i,e)).id = s,
                i.chartId = s,
                wn[s] = o,
                o
            }
            ,
            a.registerFigure = function(r) {
                cn[r.name] = no.extend(r)
            }
            ,
            a.registerIndicator = function(r) {
                Cn[r.name] = Wi.extend(r)
            }
            ,
            a.registerLocale = function(r, e) {
                bn[r] = X(X({}, bn[r]), e)
            }
            ,
            a.registerOverlay = function(r) {
                _n[r.name] = Ki.extend(r)
            }
            ,
            a.registerStyles = function(r, e) {
                eo[r] = e
            }
            ,
            a.utils = sa,
            a.version = function() {
                return "9.2.2"
            }
        })
    }
    )(Pa, Pn);
    (function(n) {
        n.exports = Pn
    }
    )(Da);
    var Fa = Object.defineProperty
      , Ba = (n,l,a)=>l in n ? Fa(n, l, {
        enumerable: !0,
        configurable: !0,
        writable: !0,
        value: a
    }) : n[l] = a
      , En = (n,l,a)=>(Ba(n, typeof l != "symbol" ? l + "" : l, a),
    a);
    function gn(n, l, a) {
        const v = (n.x - l.x) * Math.cos(a) - (n.y - l.y) * Math.sin(a) + l.x
          , m = (n.x - l.x) * Math.sin(a) + (n.y - l.y) * Math.cos(a) + l.y;
        return {
            x: v,
            y: m
        }
    }
    function xi(n, l) {
        if (n.length > 1) {
            let a;
            return n[0].x === n[1].x && n[0].y !== n[1].y ? n[0].y < n[1].y ? a = {
                x: n[0].x,
                y: l.height
            } : a = {
                x: n[0].x,
                y: 0
            } : n[0].x > n[1].x ? a = {
                x: 0,
                y: oe.utils.getLinearYFromCoordinates(n[0], n[1], {
                    x: 0,
                    y: n[0].y
                })
            } : a = {
                x: l.width,
                y: oe.utils.getLinearYFromCoordinates(n[0], n[1], {
                    x: l.width,
                    y: n[0].y
                })
            },
            {
                coordinates: [n[0], a]
            }
        }
        return []
    }
    function Lr(n, l) {
        const a = Math.abs(n.x - l.x)
          , v = Math.abs(n.y - l.y);
        return Math.sqrt(a * a + v * v)
    }
    const Na = {
        name: "arrow",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            if (n.length > 1) {
                const l = n[1].x > n[0].x ? 0 : 1
                  , a = oe.utils.getLinearSlopeIntercept(n[0], n[1]);
                let v;
                a ? v = Math.atan(a[0]) + Math.PI * l : n[1].y > n[0].y ? v = Math.PI / 2 : v = Math.PI / 2 * 3;
                const m = gn({
                    x: n[1].x - 8,
                    y: n[1].y + 4
                }, n[1], v)
                  , C = gn({
                    x: n[1].x - 8,
                    y: n[1].y - 4
                }, n[1], v);
                return [{
                    type: "line",
                    attrs: {
                        coordinates: n
                    }
                }, {
                    type: "line",
                    ignoreEvent: !0,
                    attrs: {
                        coordinates: [m, n[1], C]
                    }
                }]
            }
            return []
        }
    }
      , Ra = {
        name: "circle",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        styles: {
            circle: {
                color: "rgba(22, 119, 255, 0.15)"
            }
        },
        createPointFigures: ({coordinates: n})=>{
            if (n.length > 1) {
                const l = Lr(n[0], n[1]);
                return {
                    type: "circle",
                    attrs: {
                        ...n[0],
                        r: l
                    },
                    styles: {
                        style: "stroke_fill"
                    }
                }
            }
            return []
        }
    }
      , Oa = {
        name: "rect",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        styles: {
            polygon: {
                color: "rgba(22, 119, 255, 0.15)"
            }
        },
        createPointFigures: ({coordinates: n})=>n.length > 1 ? [{
            type: "polygon",
            attrs: {
                coordinates: [n[0], {
                    x: n[1].x,
                    y: n[0].y
                }, n[1], {
                    x: n[0].x,
                    y: n[1].y
                }]
            },
            styles: {
                style: "stroke_fill"
            }
        }] : []
    }
      , za = {
        name: "parallelogram",
        totalStep: 4,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        styles: {
            polygon: {
                color: "rgba(22, 119, 255, 0.15)"
            }
        },
        createPointFigures: ({coordinates: n})=>{
            if (n.length === 2)
                return [{
                    type: "line",
                    ignoreEvent: !0,
                    attrs: {
                        coordinates: n
                    }
                }];
            if (n.length === 3) {
                const l = {
                    x: n[0].x + (n[2].x - n[1].x),
                    y: n[2].y
                };
                return [{
                    type: "polygon",
                    attrs: {
                        coordinates: [n[0], n[1], n[2], l]
                    },
                    styles: {
                        style: "stroke_fill"
                    }
                }]
            }
            return []
        }
        ,
        performEventPressedMove: ({points: n, performPointIndex: l, performPoint: a})=>{
            l < 2 && (n[0].price = a.price,
            n[1].price = a.price)
        }
        ,
        performEventMoveForDrawing: ({currentStep: n, points: l, performPoint: a})=>{
            n === 2 && (l[0].price = a.price)
        }
    }
      , Ya = {
        name: "triangle",
        totalStep: 4,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        styles: {
            polygon: {
                color: "rgba(22, 119, 255, 0.15)"
            }
        },
        createPointFigures: ({coordinates: n})=>[{
            type: "polygon",
            attrs: {
                coordinates: n
            },
            styles: {
                style: "stroke_fill"
            }
        }]
    }
      , Va = {
        name: "fibonacciCircle",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            if (n.length > 1) {
                const l = Math.abs(n[0].x - n[1].x)
                  , a = Math.abs(n[0].y - n[1].y)
                  , v = Math.sqrt(l * l + a * a)
                  , m = [.236, .382, .5, .618, .786, 1]
                  , C = []
                  , S = [];
                return m.forEach(b=>{
                    const A = v * b;
                    C.push({
                        ...n[0],
                        r: A
                    }),
                    S.push({
                        x: n[0].x,
                        y: n[0].y + A + 6,
                        text: `${(b * 100).toFixed(1)}%`
                    })
                }
                ),
                [{
                    type: "circle",
                    attrs: C,
                    styles: {
                        style: "stroke"
                    }
                }, {
                    type: "text",
                    ignoreEvent: !0,
                    attrs: S
                }]
            }
            return []
        }
    }
      , ja = {
        name: "fibonacciSegment",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n, overlay: l, precision: a})=>{
            const v = []
              , m = [];
            if (n.length > 1) {
                const C = n[1].x > n[0].x ? n[0].x : n[1].x
                  , S = [1, .786, .618, .5, .382, .236, 0]
                  , b = n[0].y - n[1].y
                  , A = l.points
                  , T = A[0].value - A[1].value;
                S.forEach(I=>{
                    const B = n[1].y + b * I
                      , H = (A[1].value + T * I).toFixed(a.price);
                    v.push({
                        coordinates: [{
                            x: n[0].x,
                            y: B
                        }, {
                            x: n[1].x,
                            y: B
                        }]
                    }),
                    m.push({
                        x: C,
                        y: B,
                        text: `${H} (${(I * 100).toFixed(1)}%)`,
                        baseline: "bottom"
                    })
                }
                )
            }
            return [{
                type: "line",
                attrs: v
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: m
            }]
        }
    }
      , Wa = {
        name: "fibonacciSpiral",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n, bounding: l})=>{
            if (n.length > 1) {
                const a = Lr(n[0], n[1]) / Math.sqrt(24)
                  , v = n[1].x > n[0].x ? 0 : 1
                  , m = oe.utils.getLinearSlopeIntercept(n[0], n[1]);
                let C;
                m ? C = Math.atan(m[0]) + Math.PI * v : n[1].y > n[0].y ? C = Math.PI / 2 : C = Math.PI / 2 * 3;
                const S = gn({
                    x: n[0].x - a,
                    y: n[0].y
                }, n[0], C)
                  , b = gn({
                    x: n[0].x - a,
                    y: n[0].y - a
                }, n[0], C)
                  , A = [{
                    ...S,
                    r: a,
                    startAngle: C,
                    endAngle: C + Math.PI / 2
                }, {
                    ...b,
                    r: a * 2,
                    startAngle: C + Math.PI / 2,
                    endAngle: C + Math.PI
                }];
                let T = n[0].x - a
                  , I = n[0].y - a;
                for (let B = 2; B < 9; B++) {
                    const H = A[B - 2].r + A[B - 1].r;
                    let Z = 0;
                    switch (B % 4) {
                    case 0:
                        {
                            Z = C,
                            T -= A[B - 2].r;
                            break
                        }
                    case 1:
                        {
                            Z = C + Math.PI / 2,
                            I -= A[B - 2].r;
                            break
                        }
                    case 2:
                        {
                            Z = C + Math.PI,
                            T += A[B - 2].r;
                            break
                        }
                    case 3:
                        {
                            Z = C + Math.PI / 2 * 3,
                            I += A[B - 2].r;
                            break
                        }
                    }
                    const ce = Z + Math.PI / 2
                      , ge = gn({
                        x: T,
                        y: I
                    }, n[0], C);
                    A.push({
                        ...ge,
                        r: H,
                        startAngle: Z,
                        endAngle: ce
                    })
                }
                return [{
                    type: "arc",
                    attrs: A
                }, {
                    type: "line",
                    attrs: xi(n, l)
                }]
            }
            return []
        }
    }
      , Qa = {
        name: "fibonacciSpeedResistanceFan",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n, bounding: l})=>{
            const a = [];
            let v = [];
            const m = [];
            if (n.length > 1) {
                const C = n[1].x > n[0].x ? -38 : 4
                  , S = n[1].y > n[0].y ? -2 : 20
                  , b = n[1].x - n[0].x
                  , A = n[1].y - n[0].y;
                [1, .75, .618, .5, .382, .25, 0].forEach(T=>{
                    const I = n[1].x - b * T
                      , B = n[1].y - A * T;
                    a.push({
                        coordinates: [{
                            x: I,
                            y: n[0].y
                        }, {
                            x: I,
                            y: n[1].y
                        }]
                    }),
                    a.push({
                        coordinates: [{
                            x: n[0].x,
                            y: B
                        }, {
                            x: n[1].x,
                            y: B
                        }]
                    }),
                    v = v.concat(xi([n[0], {
                        x: I,
                        y: n[1].y
                    }], l)),
                    v = v.concat(xi([n[0], {
                        x: n[1].x,
                        y: B
                    }], l)),
                    m.unshift({
                        x: n[0].x + C,
                        y: B + 10,
                        text: `${T.toFixed(3)}`
                    }),
                    m.unshift({
                        x: I - 18,
                        y: n[0].y + S,
                        text: `${T.toFixed(3)}`
                    })
                }
                )
            }
            return [{
                type: "line",
                attrs: a
            }, {
                type: "line",
                attrs: v
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: m
            }]
        }
    }
      , Ka = {
        name: "fibonacciExtension",
        totalStep: 4,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n, overlay: l, precision: a})=>{
            const v = []
              , m = [];
            if (n.length > 2) {
                const C = l.points
                  , S = C[1].value - C[0].value
                  , b = n[1].y - n[0].y
                  , A = [0, .236, .382, .5, .618, .786, 1]
                  , T = n[2].x > n[1].x ? n[1].x : n[2].x;
                A.forEach(I=>{
                    const B = n[2].y + b * I
                      , H = (C[2].value + S * I).toFixed(a.price);
                    v.push({
                        coordinates: [{
                            x: n[1].x,
                            y: B
                        }, {
                            x: n[2].x,
                            y: B
                        }]
                    }),
                    m.push({
                        x: T,
                        y: B,
                        text: `${H} (${(I * 100).toFixed(1)}%)`,
                        baseline: "bottom"
                    })
                }
                )
            }
            return [{
                type: "line",
                attrs: {
                    coordinates: n
                },
                styles: {
                    style: "dashed"
                }
            }, {
                type: "line",
                attrs: v
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: m
            }]
        }
    }
      , Za = {
        name: "gannBox",
        totalStep: 3,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        styles: {
            polygon: {
                color: "rgba(22, 119, 255, 0.15)"
            }
        },
        createPointFigures: ({coordinates: n})=>{
            if (n.length > 1) {
                const l = (n[1].y - n[0].y) / 4
                  , a = n[1].x - n[0].x
                  , v = [{
                    coordinates: [n[0], {
                        x: n[1].x,
                        y: n[1].y - l
                    }]
                }, {
                    coordinates: [n[0], {
                        x: n[1].x,
                        y: n[1].y - l * 2
                    }]
                }, {
                    coordinates: [{
                        x: n[0].x,
                        y: n[1].y
                    }, {
                        x: n[1].x,
                        y: n[0].y + l
                    }]
                }, {
                    coordinates: [{
                        x: n[0].x,
                        y: n[1].y
                    }, {
                        x: n[1].x,
                        y: n[0].y + l * 2
                    }]
                }, {
                    coordinates: [{
                        ...n[0]
                    }, {
                        x: n[0].x + a * .236,
                        y: n[1].y
                    }]
                }, {
                    coordinates: [{
                        ...n[0]
                    }, {
                        x: n[0].x + a * .5,
                        y: n[1].y
                    }]
                }, {
                    coordinates: [{
                        x: n[0].x,
                        y: n[1].y
                    }, {
                        x: n[0].x + a * .236,
                        y: n[0].y
                    }]
                }, {
                    coordinates: [{
                        x: n[0].x,
                        y: n[1].y
                    }, {
                        x: n[0].x + a * .5,
                        y: n[0].y
                    }]
                }]
                  , m = [{
                    coordinates: [n[0], n[1]]
                }, {
                    coordinates: [{
                        x: n[0].x,
                        y: n[1].y
                    }, {
                        x: n[1].x,
                        y: n[0].y
                    }]
                }];
                return [{
                    type: "line",
                    attrs: [{
                        coordinates: [n[0], {
                            x: n[1].x,
                            y: n[0].y
                        }]
                    }, {
                        coordinates: [{
                            x: n[1].x,
                            y: n[0].y
                        }, n[1]]
                    }, {
                        coordinates: [n[1], {
                            x: n[0].x,
                            y: n[1].y
                        }]
                    }, {
                        coordinates: [{
                            x: n[0].x,
                            y: n[1].y
                        }, n[0]]
                    }]
                }, {
                    type: "polygon",
                    ignoreEvent: !0,
                    attrs: {
                        coordinates: [n[0], {
                            x: n[1].x,
                            y: n[0].y
                        }, n[1], {
                            x: n[0].x,
                            y: n[1].y
                        }]
                    },
                    styles: {
                        style: "fill"
                    }
                }, {
                    type: "line",
                    attrs: v,
                    styles: {
                        style: "dashed"
                    }
                }, {
                    type: "line",
                    attrs: m
                }]
            }
            return []
        }
    }
      , Ha = {
        name: "threeWaves",
        totalStep: 5,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            const l = n.map((a,v)=>({
                ...a,
                text: `(${v})`,
                baseline: "bottom"
            }));
            return [{
                type: "line",
                attrs: {
                    coordinates: n
                }
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: l
            }]
        }
    }
      , Ua = {
        name: "fiveWaves",
        totalStep: 7,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            const l = n.map((a,v)=>({
                ...a,
                text: `(${v})`,
                baseline: "bottom"
            }));
            return [{
                type: "line",
                attrs: {
                    coordinates: n
                }
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: l
            }]
        }
    }
      , Xa = {
        name: "eightWaves",
        totalStep: 10,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            const l = n.map((a,v)=>({
                ...a,
                text: `(${v})`,
                baseline: "bottom"
            }));
            return [{
                type: "line",
                attrs: {
                    coordinates: n
                }
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: l
            }]
        }
    }
      , Ga = {
        name: "anyWaves",
        totalStep: Number.MAX_SAFE_INTEGER,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            const l = n.map((a,v)=>({
                ...a,
                text: `(${v})`,
                baseline: "bottom"
            }));
            return [{
                type: "line",
                attrs: {
                    coordinates: n
                }
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: l
            }]
        }
    }
      , $a = {
        name: "abcd",
        totalStep: 5,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        createPointFigures: ({coordinates: n})=>{
            let l = []
              , a = [];
            const v = ["A", "B", "C", "D"]
              , m = n.map((C,S)=>({
                ...C,
                baseline: "bottom",
                text: `(${v[S]})`
            }));
            return n.length > 2 && (l = [n[0], n[2]],
            n.length > 3 && (a = [n[1], n[3]])),
            [{
                type: "line",
                attrs: {
                    coordinates: n
                }
            }, {
                type: "line",
                attrs: [{
                    coordinates: l
                }, {
                    coordinates: a
                }],
                styles: {
                    style: "dashed"
                }
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: m
            }]
        }
    }
      , Ja = {
        name: "xabcd",
        totalStep: 6,
        needDefaultPointFigure: !0,
        needDefaultXAxisFigure: !0,
        needDefaultYAxisFigure: !0,
        styles: {
            polygon: {
                color: "rgba(22, 119, 255, 0.15)"
            }
        },
        createPointFigures: ({coordinates: n, overlay: l})=>{
            const a = []
              , v = []
              , m = ["X", "A", "B", "C", "D"]
              , C = n.map((S,b)=>({
                ...S,
                baseline: "bottom",
                text: `(${m[b]})`
            }));
            return n.length > 2 && (a.push({
                coordinates: [n[0], n[2]]
            }),
            v.push({
                coordinates: [n[0], n[1], n[2]]
            }),
            n.length > 3 && (a.push({
                coordinates: [n[1], n[3]]
            }),
            n.length > 4 && (a.push({
                coordinates: [n[2], n[4]]
            }),
            v.push({
                coordinates: [n[2], n[3], n[4]]
            })))),
            [{
                type: "line",
                attrs: {
                    coordinates: n
                }
            }, {
                type: "line",
                attrs: a,
                styles: {
                    style: "dashed"
                }
            }, {
                type: "polygon",
                ignoreEvent: !0,
                attrs: v
            }, {
                type: "text",
                ignoreEvent: !0,
                attrs: C
            }]
        }
    }
      , qa = [Na, Ra, Oa, Ya, za, Va, ja, Wa, Qa, Ka, Za, Ha, Ua, Xa, Ga, $a, Ja];
    class e0 {
        constructor(l) {
            En(this, "_apiKey"),
            En(this, "_prevSymbolMarket"),
            En(this, "_ws"),
            this._apiKey = l
        }
        async searchSymbols(l) {
            return await ((await (await fetch(`https://api.polygon.io/v3/reference/tickers?apiKey=${this._apiKey}&active=true`)).json()).results || []).map(a=>({
                ticker: a.ticker,
                name: a.name,
                shortName: a.ticker,
                market: a.market,
                exchange: a.primary_exchange,
                priceCurrency: a.currency_name,
                type: a.type,
                logo: ""
            }))
        }
        async getHistoryKLineData(l, a, v, m) {
            return await ((await (await fetch(`https://api.polygon.io/v2/aggs/ticker/${l.ticker}/range/${a.multiplier}/${a.timespan}/${v}/${m}?apiKey=${this._apiKey}`)).json()).results || []).map(C=>({
                timestamp: C.t,
                open: C.o,
                high: C.h,
                low: C.l,
                close: C.c,
                volume: C.v,
                turnover: C.vw
            }))
        }
        subscribe(l, a, v) {
            var m, C;
            this._prevSymbolMarket !== l.market ? ((m = this._ws) == null || m.close(),
            this._ws = new WebSocket(`wss://delayed.polygon.io/${l.market}`),
            this._ws.onopen = ()=>{
                var S;
                (S = this._ws) == null || S.send(JSON.stringify({
                    action: "auth",
                    params: this._apiKey
                }))
            }
            ,
            this._ws.onmessage = S=>{
                var b;
                const A = JSON.parse(S.data);
                A[0].ev === "status" ? A[0].status === "auth_success" && ((b = this._ws) == null || b.send(JSON.stringify({
                    action: "subscribe",
                    params: `T.${l.ticker}`
                }))) : "sym"in A && v({
                    timestamp: A.s,
                    open: A.o,
                    high: A.h,
                    low: A.l,
                    close: A.c,
                    volume: A.v,
                    turnover: A.vw
                })
            }
            ) : (C = this._ws) == null || C.send(JSON.stringify({
                action: "subscribe",
                params: `T.${l.ticker}`
            })),
            this._prevSymbolMarket = l.market
        }
        unsubscribe(l, a) {}
    }
    const Ke = {};
    function t0(n) {
        Ke.context = n
    }
    const n0 = (n,l)=>n === l
      , _i = Symbol("solid-proxy")
      , i0 = Symbol("solid-track")
      , Fn = {
        equals: n0
    };
    let kr = Ir;
    const mt = 1
      , Bn = 2
      , Mr = {
        owned: null,
        cleanups: null,
        context: null,
        owner: null
    }
      , gi = {};
    var Fe = null;
    let Rt = null
      , we = null
      , Ye = null
      , ft = null
      , Ti = 0;
    function In(n, l) {
        const a = we
          , v = Fe
          , m = n.length === 0
          , C = m ? Mr : {
            owned: null,
            cleanups: null,
            context: null,
            owner: l === void 0 ? v : l
        }
          , S = m ? n : ()=>n(()=>yt(()=>Wn(C)));
        Fe = C,
        we = null;
        try {
            return Mt(S, !0)
        } finally {
            we = a,
            Fe = v
        }
    }
    function ie(n, l) {
        l = l ? Object.assign({}, Fn, l) : Fn;
        const a = {
            value: n,
            observers: null,
            observerSlots: null,
            comparator: l.equals || void 0
        }
          , v = m=>(typeof m == "function" && (m = m(a.value)),
        Er(a, m));
        return [Tr.bind(a), v]
    }
    function Bo(n, l, a) {
        const v = jn(n, l, !0, mt);
        Ut(v)
    }
    function Pe(n, l, a) {
        const v = jn(n, l, !1, mt);
        Ut(v)
    }
    function vt(n, l, a) {
        kr = c0;
        const v = jn(n, l, !1, mt);
        v.user = !0,
        ft ? ft.push(v) : Ut(v)
    }
    function Ae(n, l, a) {
        a = a ? Object.assign({}, Fn, a) : Fn;
        const v = jn(n, l, !0, 0);
        return v.observers = null,
        v.observerSlots = null,
        v.comparator = a.equals || void 0,
        Ut(v),
        Tr.bind(v)
    }
    function o0(n, l, a) {
        let v, m, C;
        arguments.length === 2 && typeof l == "object" || arguments.length === 1 ? (v = !0,
        m = n,
        C = l || {}) : (v = n,
        m = l,
        C = a || {});
        let S = null
          , b = gi
          , A = null
          , T = !1
          , I = "initialValue"in C
          , B = typeof v == "function" && Ae(v);
        const H = new Set
          , [Z,ce] = (C.storage || ie)(C.initialValue)
          , [ge,ve] = ie(void 0)
          , [le,de] = ie(void 0, {
            equals: !1
        })
          , [pe,re] = ie(I ? "ready" : "unresolved");
        if (Ke.context) {
            A = `${Ke.context.id}${Ke.context.count++}`;
            let ae;
            C.ssrLoadFrom === "initial" ? b = C.initialValue : Ke.load && (ae = Ke.load(A)) && (b = ae[0])
        }
        function J(ae, G, fe, Ce) {
            return S === ae && (S = null,
            I = !0,
            (ae === b || G === b) && C.onHydrated && queueMicrotask(()=>C.onHydrated(Ce, {
                value: G
            })),
            b = gi,
            me(G, fe)),
            G
        }
        function me(ae, G) {
            Mt(()=>{
                G === void 0 && ce(()=>ae),
                re(G !== void 0 ? "errored" : "ready"),
                ve(G);
                for (const fe of H.keys())
                    fe.decrement();
                H.clear()
            }
            , !1)
        }
        function Le() {
            const ae = a0
              , G = Z()
              , fe = ge();
            if (fe !== void 0 && !S)
                throw fe;
            return we && !we.user && ae && Bo(()=>{
                le(),
                S && (ae.resolved || H.has(ae) || (ae.increment(),
                H.add(ae)))
            }
            ),
            G
        }
        function ue(ae=!0) {
            if (ae !== !1 && T)
                return;
            T = !1;
            const G = B ? B() : v;
            if (G == null || G === !1) {
                J(S, yt(Z));
                return
            }
            const fe = b !== gi ? b : yt(()=>m(G, {
                value: Z(),
                refetching: ae
            }));
            return typeof fe != "object" || !(fe && "then"in fe) ? (J(S, fe, void 0, G),
            fe) : (S = fe,
            T = !0,
            queueMicrotask(()=>T = !1),
            Mt(()=>{
                re(I ? "refreshing" : "pending"),
                de()
            }
            , !1),
            fe.then(Ce=>J(fe, Ce, void 0, G), Ce=>J(fe, void 0, Pr(Ce), G)))
        }
        return Object.defineProperties(Le, {
            state: {
                get: ()=>pe()
            },
            error: {
                get: ()=>ge()
            },
            loading: {
                get() {
                    const ae = pe();
                    return ae === "pending" || ae === "refreshing"
                }
            },
            latest: {
                get() {
                    if (!I)
                        return Le();
                    const ae = ge();
                    if (ae && !S)
                        throw ae;
                    return Z()
                }
            }
        }),
        B ? Bo(()=>ue(!1)) : ue(!1),
        [Le, {
            refetch: ue,
            mutate: ce
        }]
    }
    function yt(n) {
        if (we === null)
            return n();
        const l = we;
        we = null;
        try {
            return n()
        } finally {
            we = l
        }
    }
    function Ar(n) {
        vt(()=>yt(n))
    }
    function Ei(n) {
        return Fe === null || (Fe.cleanups === null ? Fe.cleanups = [n] : Fe.cleanups.push(n)),
        n
    }
    function r0(n) {
        const l = we
          , a = Fe;
        return Promise.resolve().then(()=>{
            we = l,
            Fe = a;
            let v;
            return Mt(n, !1),
            we = Fe = null,
            v ? v.done : void 0
        }
        )
    }
    let a0;
    function Tr() {
        const n = Rt;
        if (this.sources && (this.state || n))
            if (this.state === mt || n)
                Ut(this);
            else {
                const l = Ye;
                Ye = null,
                Mt(()=>Rn(this), !1),
                Ye = l
            }
        if (we) {
            const l = this.observers ? this.observers.length : 0;
            we.sources ? (we.sources.push(this),
            we.sourceSlots.push(l)) : (we.sources = [this],
            we.sourceSlots = [l]),
            this.observers ? (this.observers.push(we),
            this.observerSlots.push(we.sources.length - 1)) : (this.observers = [we],
            this.observerSlots = [we.sources.length - 1])
        }
        return this.value
    }
    function Er(n, l, a) {
        let v = n.value;
        return (!n.comparator || !n.comparator(v, l)) && (n.value = l,
        n.observers && n.observers.length && Mt(()=>{
            for (let m = 0; m < n.observers.length; m += 1) {
                const C = n.observers[m]
                  , S = Rt && Rt.running;
                S && Rt.disposed.has(C),
                (S && !C.tState || !S && !C.state) && (C.pure ? Ye.push(C) : ft.push(C),
                C.observers && Dr(C)),
                S || (C.state = mt)
            }
            if (Ye.length > 1e6)
                throw Ye = [],
                new Error
        }
        , !1)),
        l
    }
    function Ut(n) {
        if (!n.fn)
            return;
        Wn(n);
        const l = Fe
          , a = we
          , v = Ti;
        we = Fe = n,
        s0(n, n.value, v),
        we = a,
        Fe = l
    }
    function s0(n, l, a) {
        let v;
        try {
            v = n.fn(l)
        } catch (m) {
            n.pure && (n.state = mt,
            n.owned && n.owned.forEach(Wn),
            n.owned = null),
            Fr(m)
        }
        (!n.updatedAt || n.updatedAt <= a) && (n.updatedAt != null && "observers"in n ? Er(n, v) : n.value = v,
        n.updatedAt = a)
    }
    function jn(n, l, a, v=mt, m) {
        const C = {
            fn: n,
            state: v,
            updatedAt: null,
            owned: null,
            sources: null,
            sourceSlots: null,
            cleanups: null,
            value: l,
            owner: Fe,
            context: null,
            pure: a
        };
        return Fe === null || Fe !== Mr && (Fe.owned ? Fe.owned.push(C) : Fe.owned = [C]),
        C
    }
    function Nn(n) {
        const l = Rt;
        if (n.state === 0 || l)
            return;
        if (n.state === Bn || l)
            return Rn(n);
        if (n.suspense && yt(n.suspense.inFallback))
            return n.suspense.effects.push(n);
        const a = [n];
        for (; (n = n.owner) && (!n.updatedAt || n.updatedAt < Ti); )
            (n.state || l) && a.push(n);
        for (let v = a.length - 1; v >= 0; v--)
            if (n = a[v],
            n.state === mt || l)
                Ut(n);
            else if (n.state === Bn || l) {
                const m = Ye;
                Ye = null,
                Mt(()=>Rn(n, a[0]), !1),
                Ye = m
            }
    }
    function Mt(n, l) {
        if (Ye)
            return n();
        let a = !1;
        l || (Ye = []),
        ft ? a = !0 : ft = [],
        Ti++;
        try {
            const v = n();
            return l0(a),
            v
        } catch (v) {
            a || (ft = null),
            Ye = null,
            Fr(v)
        }
    }
    function l0(n) {
        if (Ye && (Ir(Ye),
        Ye = null),
        n)
            return;
        const l = ft;
        ft = null,
        l.length && Mt(()=>kr(l), !1)
    }
    function Ir(n) {
        for (let l = 0; l < n.length; l++)
            Nn(n[l])
    }
    function c0(n) {
        let l, a = 0;
        for (l = 0; l < n.length; l++) {
            const v = n[l];
            v.user ? n[a++] = v : Nn(v)
        }
        for (Ke.context && t0(),
        l = 0; l < a; l++)
            Nn(n[l])
    }
    function Rn(n, l) {
        const a = Rt;
        n.state = 0;
        for (let v = 0; v < n.sources.length; v += 1) {
            const m = n.sources[v];
            m.sources && (m.state === mt || a ? m !== l && Nn(m) : (m.state === Bn || a) && Rn(m, l))
        }
    }
    function Dr(n) {
        const l = Rt;
        for (let a = 0; a < n.observers.length; a += 1) {
            const v = n.observers[a];
            (!v.state || l) && (v.state = Bn,
            v.pure ? Ye.push(v) : ft.push(v),
            v.observers && Dr(v))
        }
    }
    function Wn(n) {
        let l;
        if (n.sources)
            for (; n.sources.length; ) {
                const a = n.sources.pop()
                  , v = n.sourceSlots.pop()
                  , m = a.observers;
                if (m && m.length) {
                    const C = m.pop()
                      , S = a.observerSlots.pop();
                    v < m.length && (C.sourceSlots[S] = v,
                    m[v] = C,
                    a.observerSlots[v] = S)
                }
            }
        if (n.owned) {
            for (l = 0; l < n.owned.length; l++)
                Wn(n.owned[l]);
            n.owned = null
        }
        if (n.cleanups) {
            for (l = 0; l < n.cleanups.length; l++)
                n.cleanups[l]();
            n.cleanups = null
        }
        n.state = 0,
        n.context = null
    }
    function Pr(n) {
        return n instanceof Error || typeof n == "string" ? n : new Error("Unknown error")
    }
    function Fr(n) {
        throw n = Pr(n),
        n
    }
    const u0 = Symbol("fallback");
    function No(n) {
        for (let l = 0; l < n.length; l++)
            n[l]()
    }
    function h0(n, l, a={}) {
        let v = []
          , m = []
          , C = []
          , S = 0
          , b = l.length > 1 ? [] : null;
        return Ei(()=>No(C)),
        ()=>{
            let A = n() || [], T, I;
            return A[i0],
            yt(()=>{
                let H = A.length, Z, ce, ge, ve, le, de, pe, re, J;
                if (H === 0)
                    S !== 0 && (No(C),
                    C = [],
                    v = [],
                    m = [],
                    S = 0,
                    b && (b = [])),
                    a.fallback && (v = [u0],
                    m[0] = In(me=>(C[0] = me,
                    a.fallback())),
                    S = 1);
                else if (S === 0) {
                    for (m = new Array(H),
                    I = 0; I < H; I++)
                        v[I] = A[I],
                        m[I] = In(B);
                    S = H
                } else {
                    for (ge = new Array(H),
                    ve = new Array(H),
                    b && (le = new Array(H)),
                    de = 0,
                    pe = Math.min(S, H); de < pe && v[de] === A[de]; de++)
                        ;
                    for (pe = S - 1,
                    re = H - 1; pe >= de && re >= de && v[pe] === A[re]; pe--,
                    re--)
                        ge[re] = m[pe],
                        ve[re] = C[pe],
                        b && (le[re] = b[pe]);
                    for (Z = new Map,
                    ce = new Array(re + 1),
                    I = re; I >= de; I--)
                        J = A[I],
                        T = Z.get(J),
                        ce[I] = T === void 0 ? -1 : T,
                        Z.set(J, I);
                    for (T = de; T <= pe; T++)
                        J = v[T],
                        I = Z.get(J),
                        I !== void 0 && I !== -1 ? (ge[I] = m[T],
                        ve[I] = C[T],
                        b && (le[I] = b[T]),
                        I = ce[I],
                        Z.set(J, I)) : C[T]();
                    for (I = de; I < H; I++)
                        I in ge ? (m[I] = ge[I],
                        C[I] = ve[I],
                        b && (b[I] = le[I],
                        b[I](I))) : m[I] = In(B);
                    m = m.slice(0, S = H),
                    v = A.slice(0)
                }
                return m
            }
            );
            function B(H) {
                if (C[I] = H,
                b) {
                    const [Z,ce] = ie(I);
                    return b[I] = ce,
                    l(A[I], Z)
                }
                return l(A[I])
            }
        }
    }
    function W(n, l) {
        return yt(()=>n(l || {}))
    }
    function Mn() {
        return !0
    }
    const d0 = {
        get(n, l, a) {
            return l === _i ? a : n.get(l)
        },
        has(n, l) {
            return l === _i ? !0 : n.has(l)
        },
        set: Mn,
        deleteProperty: Mn,
        getOwnPropertyDescriptor(n, l) {
            return {
                configurable: !0,
                enumerable: !0,
                get() {
                    return n.get(l)
                },
                set: Mn,
                deleteProperty: Mn
            }
        },
        ownKeys(n) {
            return n.keys()
        }
    };
    function vi(n) {
        return (n = typeof n == "function" ? n() : n) ? n : {}
    }
    function Br(...n) {
        let l = !1;
        for (let v = 0; v < n.length; v++) {
            const m = n[v];
            l = l || !!m && _i in m,
            n[v] = typeof m == "function" ? (l = !0,
            Ae(m)) : m
        }
        if (l)
            return new Proxy({
                get(v) {
                    for (let m = n.length - 1; m >= 0; m--) {
                        const C = vi(n[m])[v];
                        if (C !== void 0)
                            return C
                    }
                },
                has(v) {
                    for (let m = n.length - 1; m >= 0; m--)
                        if (v in vi(n[m]))
                            return !0;
                    return !1
                },
                keys() {
                    const v = [];
                    for (let m = 0; m < n.length; m++)
                        v.push(...Object.keys(vi(n[m])));
                    return [...new Set(v)]
                }
            },d0);
        const a = {};
        for (let v = n.length - 1; v >= 0; v--)
            if (n[v]) {
                const m = Object.getOwnPropertyDescriptors(n[v]);
                for (const C in m)
                    C in a || Object.defineProperty(a, C, {
                        enumerable: !0,
                        get() {
                            for (let S = n.length - 1; S >= 0; S--) {
                                const b = (n[S] || {})[C];
                                if (b !== void 0)
                                    return b
                            }
                        }
                    })
            }
        return a
    }
    function p0(n) {
        const l = "fallback"in n && {
            fallback: ()=>n.fallback
        };
        return Ae(h0(()=>n.each, n.children, l || void 0))
    }
    function Oe(n) {
        let l = !1;
        const a = n.keyed
          , v = Ae(()=>n.when, void 0, {
            equals: (m,C)=>l ? m === C : !m == !C
        });
        return Ae(()=>{
            const m = v();
            if (m) {
                const C = n.children
                  , S = typeof C == "function" && C.length > 0;
                return l = a || S,
                S ? yt(()=>C(m)) : C
            }
            return n.fallback
        }
        , void 0, void 0)
    }
    function g0(n, l, a) {
        let v = a.length
          , m = l.length
          , C = v
          , S = 0
          , b = 0
          , A = l[m - 1].nextSibling
          , T = null;
        for (; S < m || b < C; ) {
            if (l[S] === a[b]) {
                S++,
                b++;
                continue
            }
            for (; l[m - 1] === a[C - 1]; )
                m--,
                C--;
            if (m === S) {
                const I = C < v ? b ? a[b - 1].nextSibling : a[C - b] : A;
                for (; b < C; )
                    n.insertBefore(a[b++], I)
            } else if (C === b)
                for (; S < m; )
                    (!T || !T.has(l[S])) && l[S].remove(),
                    S++;
            else if (l[S] === a[C - 1] && a[b] === l[m - 1]) {
                const I = l[--m].nextSibling;
                n.insertBefore(a[b++], l[S++].nextSibling),
                n.insertBefore(a[--C], I),
                l[m] = a[C]
            } else {
                if (!T) {
                    T = new Map;
                    let B = b;
                    for (; B < C; )
                        T.set(a[B], B++)
                }
                const I = T.get(l[S]);
                if (I != null)
                    if (b < I && I < C) {
                        let B = S, H = 1, Z;
                        for (; ++B < m && B < C && !((Z = T.get(l[B])) == null || Z !== I + H); )
                            H++;
                        if (H > I - b) {
                            const ce = l[S];
                            for (; b < I; )
                                n.insertBefore(a[b++], ce)
                        } else
                            n.replaceChild(a[b++], l[S++])
                    } else
                        S++;
                else
                    l[S++].remove()
            }
        }
    }
    const Ro = "_$DX_DELEGATE";
    function v0(n, l, a, v={}) {
        let m;
        return In(C=>{
            m = C,
            l === document ? n() : K(l, n(), l.firstChild ? null : void 0, a)
        }
        , v.owner),
        ()=>{
            m(),
            l.textContent = ""
        }
    }
    function Y(n, l, a) {
        const v = document.createElement("template");
        v.innerHTML = n;
        let m = v.content.firstChild;
        return a && (m = m.firstChild),
        m
    }
    function ct(n, l=window.document) {
        const a = l[Ro] || (l[Ro] = new Set);
        for (let v = 0, m = n.length; v < m; v++) {
            const C = n[v];
            a.has(C) || (a.add(C),
            l.addEventListener(C, f0))
        }
    }
    function He(n, l, a) {
        a == null ? n.removeAttribute(l) : n.setAttribute(l, a)
    }
    function Ot(n, l) {
        l == null ? n.removeAttribute("class") : n.className = l
    }
    function kt(n, l, a, v) {
        if (v)
            Array.isArray(a) ? (n[`$$${l}`] = a[0],
            n[`$$${l}Data`] = a[1]) : n[`$$${l}`] = a;
        else if (Array.isArray(a)) {
            const m = a[0];
            n.addEventListener(l, a[0] = C=>m.call(n, a[1], C))
        } else
            n.addEventListener(l, a)
    }
    function Xt(n, l, a) {
        if (!l)
            return a ? He(n, "style") : l;
        const v = n.style;
        if (typeof l == "string")
            return v.cssText = l;
        typeof a == "string" && (v.cssText = a = void 0),
        a || (a = {}),
        l || (l = {});
        let m, C;
        for (C in a)
            l[C] == null && v.removeProperty(C),
            delete a[C];
        for (C in l)
            m = l[C],
            m !== a[C] && (v.setProperty(C, m),
            a[C] = m);
        return a
    }
    function Ii(n, l, a) {
        return yt(()=>n(l, a))
    }
    function K(n, l, a, v) {
        if (a !== void 0 && !v && (v = []),
        typeof l != "function")
            return On(n, l, v, a);
        Pe(m=>On(n, l(), m, a), v)
    }
    function f0(n) {
        const l = `$$${n.type}`;
        let a = n.composedPath && n.composedPath()[0] || n.target;
        for (n.target !== a && Object.defineProperty(n, "target", {
            configurable: !0,
            value: a
        }),
        Object.defineProperty(n, "currentTarget", {
            configurable: !0,
            get() {
                return a || document
            }
        }),
        Ke.registry && !Ke.done && (Ke.done = !0,
        document.querySelectorAll("[id^=pl-]").forEach(v=>{
            for (; v && v.nodeType !== 8 && v.nodeValue !== "pl-" + n; ) {
                let m = v.nextSibling;
                v.remove(),
                v = m
            }
            v && v.remove()
        }
        )); a; ) {
            const v = a[l];
            if (v && !a.disabled) {
                const m = a[`${l}Data`];
                if (m !== void 0 ? v.call(a, m, n) : v.call(a, n),
                n.cancelBubble)
                    return
            }
            a = a._$host || a.parentNode || a.host
        }
    }
    function On(n, l, a, v, m) {
        for (Ke.context && !a && (a = [...n.childNodes]); typeof a == "function"; )
            a = a();
        if (l === a)
            return a;
        const C = typeof l
          , S = v !== void 0;
        if (n = S && a[0] && a[0].parentNode || n,
        C === "string" || C === "number") {
            if (Ke.context)
                return a;
            if (C === "number" && (l = l.toString()),
            S) {
                let b = a[0];
                b && b.nodeType === 3 ? b.data = l : b = document.createTextNode(l),
                a = Qt(n, a, v, b)
            } else
                a !== "" && typeof a == "string" ? a = n.firstChild.data = l : a = n.textContent = l
        } else if (l == null || C === "boolean") {
            if (Ke.context)
                return a;
            a = Qt(n, a, v)
        } else {
            if (C === "function")
                return Pe(()=>{
                    let b = l();
                    for (; typeof b == "function"; )
                        b = b();
                    a = On(n, b, a, v)
                }
                ),
                ()=>a;
            if (Array.isArray(l)) {
                const b = []
                  , A = a && Array.isArray(a);
                if (bi(b, l, a, m))
                    return Pe(()=>a = On(n, b, a, v, !0)),
                    ()=>a;
                if (Ke.context) {
                    if (!b.length)
                        return a;
                    for (let T = 0; T < b.length; T++)
                        if (b[T].parentNode)
                            return a = b
                }
                if (b.length === 0) {
                    if (a = Qt(n, a, v),
                    S)
                        return a
                } else
                    A ? a.length === 0 ? Oo(n, b, v) : g0(n, a, b) : (a && Qt(n),
                    Oo(n, b));
                a = b
            } else if (l instanceof Node) {
                if (Ke.context && l.parentNode)
                    return a = S ? [l] : l;
                if (Array.isArray(a)) {
                    if (S)
                        return a = Qt(n, a, v, l);
                    Qt(n, a, null, l)
                } else
                    a == null || a === "" || !n.firstChild ? n.appendChild(l) : n.replaceChild(l, n.firstChild);
                a = l
            }
        }
        return a
    }
    function bi(n, l, a, v) {
        let m = !1;
        for (let C = 0, S = l.length; C < S; C++) {
            let b = l[C]
              , A = a && a[C];
            if (b instanceof Node)
                n.push(b);
            else if (!(b == null || b === !0 || b === !1))
                if (Array.isArray(b))
                    m = bi(n, b, A) || m;
                else if (typeof b == "function")
                    if (v) {
                        for (; typeof b == "function"; )
                            b = b();
                        m = bi(n, Array.isArray(b) ? b : [b], Array.isArray(A) ? A : [A]) || m
                    } else
                        n.push(b),
                        m = !0;
                else {
                    const T = String(b);
                    A && A.nodeType === 3 && A.data === T ? n.push(A) : n.push(document.createTextNode(T))
                }
        }
        return m
    }
    function Oo(n, l, a=null) {
        for (let v = 0, m = l.length; v < m; v++)
            n.insertBefore(l[v], a)
    }
    function Qt(n, l, a, v) {
        if (a === void 0)
            return n.textContent = "";
        const m = v || document.createTextNode("");
        if (l.length) {
            let C = !1;
            for (let S = l.length - 1; S >= 0; S--) {
                const b = l[S];
                if (m !== b) {
                    const A = b.parentNode === n;
                    !C && !S ? A ? n.replaceChild(m, b) : n.insertBefore(m, a) : A && b.remove()
                } else
                    C = !0
            }
        } else
            n.insertBefore(m, a);
        return [m]
    }
    var An = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}
      , y0 = typeof An == "object" && An && An.Object === Object && An
      , Nr = y0
      , m0 = Nr
      , C0 = typeof self == "object" && self && self.Object === Object && self
      , x0 = m0 || C0 || Function("return this")()
      , ut = x0
      , _0 = ut
      , b0 = _0.Symbol
      , Qn = b0
      , zo = Qn
      , Rr = Object.prototype
      , w0 = Rr.hasOwnProperty
      , S0 = Rr.toString
      , dn = zo ? zo.toStringTag : void 0;
    function L0(n) {
        var l = w0.call(n, dn)
          , a = n[dn];
        try {
            n[dn] = void 0;
            var v = !0
        } catch {}
        var m = S0.call(n);
        return v && (l ? n[dn] = a : delete n[dn]),
        m
    }
    var k0 = L0
      , M0 = Object.prototype
      , A0 = M0.toString;
    function T0(n) {
        return A0.call(n)
    }
    var E0 = T0
      , Yo = Qn
      , I0 = k0
      , D0 = E0
      , P0 = "[object Null]"
      , F0 = "[object Undefined]"
      , Vo = Yo ? Yo.toStringTag : void 0;
    function B0(n) {
        return n == null ? n === void 0 ? F0 : P0 : Vo && Vo in Object(n) ? I0(n) : D0(n)
    }
    var mn = B0;
    function N0(n) {
        var l = typeof n;
        return n != null && (l == "object" || l == "function")
    }
    var Gt = N0
      , R0 = mn
      , O0 = Gt
      , z0 = "[object AsyncFunction]"
      , Y0 = "[object Function]"
      , V0 = "[object GeneratorFunction]"
      , j0 = "[object Proxy]";
    function W0(n) {
        if (!O0(n))
            return !1;
        var l = R0(n);
        return l == Y0 || l == V0 || l == z0 || l == j0
    }
    var Or = W0
      , Q0 = ut
      , K0 = Q0["__core-js_shared__"]
      , Z0 = K0
      , fi = Z0
      , jo = function() {
        var n = /[^.]+$/.exec(fi && fi.keys && fi.keys.IE_PROTO || "");
        return n ? "Symbol(src)_1." + n : ""
    }();
    function H0(n) {
        return !!jo && jo in n
    }
    var U0 = H0
      , X0 = Function.prototype
      , G0 = X0.toString;
    function $0(n) {
        if (n != null) {
            try {
                return G0.call(n)
            } catch {}
            try {
                return n + ""
            } catch {}
        }
        return ""
    }
    var zr = $0
      , J0 = Or
      , q0 = U0
      , es = Gt
      , ts = zr
      , ns = /[\\^$.*+?()[\]{}|]/g
      , is = /^\[object .+?Constructor\]$/
      , os = Function.prototype
      , rs = Object.prototype
      , as = os.toString
      , ss = rs.hasOwnProperty
      , ls = RegExp("^" + as.call(ss).replace(ns, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
    function cs(n) {
        if (!es(n) || q0(n))
            return !1;
        var l = J0(n) ? ls : is;
        return l.test(ts(n))
    }
    var us = cs;
    function hs(n, l) {
        return n == null ? void 0 : n[l]
    }
    var ds = hs
      , ps = us
      , gs = ds;
    function vs(n, l) {
        var a = gs(n, l);
        return ps(a) ? a : void 0
    }
    var zt = vs
      , fs = zt
      , ys = function() {
        try {
            var n = fs(Object, "defineProperty");
            return n({}, "", {}),
            n
        } catch {}
    }()
      , ms = ys
      , Wo = ms;
    function Cs(n, l, a) {
        l == "__proto__" && Wo ? Wo(n, l, {
            configurable: !0,
            enumerable: !0,
            value: a,
            writable: !0
        }) : n[l] = a
    }
    var Yr = Cs;
    function xs(n, l) {
        return n === l || n !== n && l !== l
    }
    var Vr = xs
      , _s = Yr
      , bs = Vr
      , ws = Object.prototype
      , Ss = ws.hasOwnProperty;
    function Ls(n, l, a) {
        var v = n[l];
        (!(Ss.call(n, l) && bs(v, a)) || a === void 0 && !(l in n)) && _s(n, l, a)
    }
    var Di = Ls
      , ks = Array.isArray
      , $t = ks;
    function Ms(n) {
        return n != null && typeof n == "object"
    }
    var Jt = Ms
      , As = mn
      , Ts = Jt
      , Es = "[object Symbol]";
    function Is(n) {
        return typeof n == "symbol" || Ts(n) && As(n) == Es
    }
    var Pi = Is
      , Ds = $t
      , Ps = Pi
      , Fs = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/
      , Bs = /^\w*$/;
    function Ns(n, l) {
        if (Ds(n))
            return !1;
        var a = typeof n;
        return a == "number" || a == "symbol" || a == "boolean" || n == null || Ps(n) ? !0 : Bs.test(n) || !Fs.test(n) || l != null && n in Object(l)
    }
    var Rs = Ns
      , Os = zt
      , zs = Os(Object, "create")
      , Kn = zs
      , Qo = Kn;
    function Ys() {
        this.__data__ = Qo ? Qo(null) : {},
        this.size = 0
    }
    var Vs = Ys;
    function js(n) {
        var l = this.has(n) && delete this.__data__[n];
        return this.size -= l ? 1 : 0,
        l
    }
    var Ws = js
      , Qs = Kn
      , Ks = "__lodash_hash_undefined__"
      , Zs = Object.prototype
      , Hs = Zs.hasOwnProperty;
    function Us(n) {
        var l = this.__data__;
        if (Qs) {
            var a = l[n];
            return a === Ks ? void 0 : a
        }
        return Hs.call(l, n) ? l[n] : void 0
    }
    var Xs = Us
      , Gs = Kn
      , $s = Object.prototype
      , Js = $s.hasOwnProperty;
    function qs(n) {
        var l = this.__data__;
        return Gs ? l[n] !== void 0 : Js.call(l, n)
    }
    var el = qs
      , tl = Kn
      , nl = "__lodash_hash_undefined__";
    function il(n, l) {
        var a = this.__data__;
        return this.size += this.has(n) ? 0 : 1,
        a[n] = tl && l === void 0 ? nl : l,
        this
    }
    var ol = il
      , rl = Vs
      , al = Ws
      , sl = Xs
      , ll = el
      , cl = ol;
    function qt(n) {
        var l = -1
          , a = n == null ? 0 : n.length;
        for (this.clear(); ++l < a; ) {
            var v = n[l];
            this.set(v[0], v[1])
        }
    }
    qt.prototype.clear = rl;
    qt.prototype.delete = al;
    qt.prototype.get = sl;
    qt.prototype.has = ll;
    qt.prototype.set = cl;
    var ul = qt;
    function hl() {
        this.__data__ = [],
        this.size = 0
    }
    var dl = hl
      , pl = Vr;
    function gl(n, l) {
        for (var a = n.length; a--; )
            if (pl(n[a][0], l))
                return a;
        return -1
    }
    var Zn = gl
      , vl = Zn
      , fl = Array.prototype
      , yl = fl.splice;
    function ml(n) {
        var l = this.__data__
          , a = vl(l, n);
        if (a < 0)
            return !1;
        var v = l.length - 1;
        return a == v ? l.pop() : yl.call(l, a, 1),
        --this.size,
        !0
    }
    var Cl = ml
      , xl = Zn;
    function _l(n) {
        var l = this.__data__
          , a = xl(l, n);
        return a < 0 ? void 0 : l[a][1]
    }
    var bl = _l
      , wl = Zn;
    function Sl(n) {
        return wl(this.__data__, n) > -1
    }
    var Ll = Sl
      , kl = Zn;
    function Ml(n, l) {
        var a = this.__data__
          , v = kl(a, n);
        return v < 0 ? (++this.size,
        a.push([n, l])) : a[v][1] = l,
        this
    }
    var Al = Ml
      , Tl = dl
      , El = Cl
      , Il = bl
      , Dl = Ll
      , Pl = Al;
    function en(n) {
        var l = -1
          , a = n == null ? 0 : n.length;
        for (this.clear(); ++l < a; ) {
            var v = n[l];
            this.set(v[0], v[1])
        }
    }
    en.prototype.clear = Tl;
    en.prototype.delete = El;
    en.prototype.get = Il;
    en.prototype.has = Dl;
    en.prototype.set = Pl;
    var Hn = en
      , Fl = zt
      , Bl = ut
      , Nl = Fl(Bl, "Map")
      , Fi = Nl
      , Ko = ul
      , Rl = Hn
      , Ol = Fi;
    function zl() {
        this.size = 0,
        this.__data__ = {
            hash: new Ko,
            map: new (Ol || Rl),
            string: new Ko
        }
    }
    var Yl = zl;
    function Vl(n) {
        var l = typeof n;
        return l == "string" || l == "number" || l == "symbol" || l == "boolean" ? n !== "__proto__" : n === null
    }
    var jl = Vl
      , Wl = jl;
    function Ql(n, l) {
        var a = n.__data__;
        return Wl(l) ? a[typeof l == "string" ? "string" : "hash"] : a.map
    }
    var Un = Ql
      , Kl = Un;
    function Zl(n) {
        var l = Kl(this, n).delete(n);
        return this.size -= l ? 1 : 0,
        l
    }
    var Hl = Zl
      , Ul = Un;
    function Xl(n) {
        return Ul(this, n).get(n)
    }
    var Gl = Xl
      , $l = Un;
    function Jl(n) {
        return $l(this, n).has(n)
    }
    var ql = Jl
      , e9 = Un;
    function t9(n, l) {
        var a = e9(this, n)
          , v = a.size;
        return a.set(n, l),
        this.size += a.size == v ? 0 : 1,
        this
    }
    var n9 = t9
      , i9 = Yl
      , o9 = Hl
      , r9 = Gl
      , a9 = ql
      , s9 = n9;
    function tn(n) {
        var l = -1
          , a = n == null ? 0 : n.length;
        for (this.clear(); ++l < a; ) {
            var v = n[l];
            this.set(v[0], v[1])
        }
    }
    tn.prototype.clear = i9;
    tn.prototype.delete = o9;
    tn.prototype.get = r9;
    tn.prototype.has = a9;
    tn.prototype.set = s9;
    var jr = tn
      , Wr = jr
      , l9 = "Expected a function";
    function Bi(n, l) {
        if (typeof n != "function" || l != null && typeof l != "function")
            throw new TypeError(l9);
        var a = function() {
            var v = arguments
              , m = l ? l.apply(this, v) : v[0]
              , C = a.cache;
            if (C.has(m))
                return C.get(m);
            var S = n.apply(this, v);
            return a.cache = C.set(m, S) || C,
            S
        };
        return a.cache = new (Bi.Cache || Wr),
        a
    }
    Bi.Cache = Wr;
    var c9 = Bi
      , u9 = c9
      , h9 = 500;
    function d9(n) {
        var l = u9(n, function(v) {
            return a.size === h9 && a.clear(),
            v
        })
          , a = l.cache;
        return l
    }
    var p9 = d9
      , g9 = p9
      , v9 = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g
      , f9 = /\\(\\)?/g
      , y9 = g9(function(n) {
        var l = [];
        return n.charCodeAt(0) === 46 && l.push(""),
        n.replace(v9, function(a, v, m, C) {
            l.push(m ? C.replace(f9, "$1") : v || a)
        }),
        l
    })
      , m9 = y9;
    function C9(n, l) {
        for (var a = -1, v = n == null ? 0 : n.length, m = Array(v); ++a < v; )
            m[a] = l(n[a], a, n);
        return m
    }
    var x9 = C9
      , Zo = Qn
      , _9 = x9
      , b9 = $t
      , w9 = Pi
      , S9 = 1 / 0
      , Ho = Zo ? Zo.prototype : void 0
      , Uo = Ho ? Ho.toString : void 0;
    function Qr(n) {
        if (typeof n == "string")
            return n;
        if (b9(n))
            return _9(n, Qr) + "";
        if (w9(n))
            return Uo ? Uo.call(n) : "";
        var l = n + "";
        return l == "0" && 1 / n == -S9 ? "-0" : l
    }
    var L9 = Qr
      , k9 = L9;
    function M9(n) {
        return n == null ? "" : k9(n)
    }
    var A9 = M9
      , T9 = $t
      , E9 = Rs
      , I9 = m9
      , D9 = A9;
    function P9(n, l) {
        return T9(n) ? n : E9(n, l) ? [n] : I9(D9(n))
    }
    var F9 = P9
      , B9 = 9007199254740991
      , N9 = /^(?:0|[1-9]\d*)$/;
    function R9(n, l) {
        var a = typeof n;
        return l = l ?? B9,
        !!l && (a == "number" || a != "symbol" && N9.test(n)) && n > -1 && n % 1 == 0 && n < l
    }
    var Kr = R9
      , O9 = Pi
      , z9 = 1 / 0;
    function Y9(n) {
        if (typeof n == "string" || O9(n))
            return n;
        var l = n + "";
        return l == "0" && 1 / n == -z9 ? "-0" : l
    }
    var V9 = Y9
      , j9 = Di
      , W9 = F9
      , Q9 = Kr
      , Xo = Gt
      , K9 = V9;
    function Z9(n, l, a, v) {
        if (!Xo(n))
            return n;
        l = W9(l, n);
        for (var m = -1, C = l.length, S = C - 1, b = n; b != null && ++m < C; ) {
            var A = K9(l[m])
              , T = a;
            if (A === "__proto__" || A === "constructor" || A === "prototype")
                return n;
            if (m != S) {
                var I = b[A];
                T = v ? v(I, A, b) : void 0,
                T === void 0 && (T = Xo(I) ? I : Q9(l[m + 1]) ? [] : {})
            }
            j9(b, A, T),
            b = b[A]
        }
        return n
    }
    var H9 = Z9
      , U9 = H9;
    function X9(n, l, a) {
        return n == null ? n : U9(n, l, a)
    }
    var wi = X9
      , G9 = Hn;
    function $9() {
        this.__data__ = new G9,
        this.size = 0
    }
    var J9 = $9;
    function q9(n) {
        var l = this.__data__
          , a = l.delete(n);
        return this.size = l.size,
        a
    }
    var ec = q9;
    function tc(n) {
        return this.__data__.get(n)
    }
    var nc = tc;
    function ic(n) {
        return this.__data__.has(n)
    }
    var oc = ic
      , rc = Hn
      , ac = Fi
      , sc = jr
      , lc = 200;
    function cc(n, l) {
        var a = this.__data__;
        if (a instanceof rc) {
            var v = a.__data__;
            if (!ac || v.length < lc - 1)
                return v.push([n, l]),
                this.size = ++a.size,
                this;
            a = this.__data__ = new sc(v)
        }
        return a.set(n, l),
        this.size = a.size,
        this
    }
    var uc = cc
      , hc = Hn
      , dc = J9
      , pc = ec
      , gc = nc
      , vc = oc
      , fc = uc;
    function nn(n) {
        var l = this.__data__ = new hc(n);
        this.size = l.size
    }
    nn.prototype.clear = dc;
    nn.prototype.delete = pc;
    nn.prototype.get = gc;
    nn.prototype.has = vc;
    nn.prototype.set = fc;
    var yc = nn;
    function mc(n, l) {
        for (var a = -1, v = n == null ? 0 : n.length; ++a < v && l(n[a], a, n) !== !1; )
            ;
        return n
    }
    var Cc = mc
      , xc = Di
      , _c = Yr;
    function bc(n, l, a, v) {
        var m = !a;
        a || (a = {});
        for (var C = -1, S = l.length; ++C < S; ) {
            var b = l[C]
              , A = v ? v(a[b], n[b], b, a, n) : void 0;
            A === void 0 && (A = n[b]),
            m ? _c(a, b, A) : xc(a, b, A)
        }
        return a
    }
    var Xn = bc;
    function wc(n, l) {
        for (var a = -1, v = Array(n); ++a < n; )
            v[a] = l(a);
        return v
    }
    var Sc = wc
      , Lc = mn
      , kc = Jt
      , Mc = "[object Arguments]";
    function Ac(n) {
        return kc(n) && Lc(n) == Mc
    }
    var Tc = Ac
      , Go = Tc
      , Ec = Jt
      , Zr = Object.prototype
      , Ic = Zr.hasOwnProperty
      , Dc = Zr.propertyIsEnumerable
      , Pc = Go(function() {
        return arguments
    }()) ? Go : function(n) {
        return Ec(n) && Ic.call(n, "callee") && !Dc.call(n, "callee")
    }
      , Fc = Pc
      , yn = {}
      , Bc = {
        get exports() {
            return yn
        },
        set exports(n) {
            yn = n
        }
    };
    function Nc() {
        return !1
    }
    var Rc = Nc;
    (function(n, l) {
        var a = ut
          , v = Rc
          , m = l && !l.nodeType && l
          , C = m && !0 && n && !n.nodeType && n
          , S = C && C.exports === m
          , b = S ? a.Buffer : void 0
          , A = b ? b.isBuffer : void 0
          , T = A || v;
        n.exports = T
    }
    )(Bc, yn);
    var Oc = 9007199254740991;
    function zc(n) {
        return typeof n == "number" && n > -1 && n % 1 == 0 && n <= Oc
    }
    var Hr = zc
      , Yc = mn
      , Vc = Hr
      , jc = Jt
      , Wc = "[object Arguments]"
      , Qc = "[object Array]"
      , Kc = "[object Boolean]"
      , Zc = "[object Date]"
      , Hc = "[object Error]"
      , Uc = "[object Function]"
      , Xc = "[object Map]"
      , Gc = "[object Number]"
      , $c = "[object Object]"
      , Jc = "[object RegExp]"
      , qc = "[object Set]"
      , e5 = "[object String]"
      , t5 = "[object WeakMap]"
      , n5 = "[object ArrayBuffer]"
      , i5 = "[object DataView]"
      , o5 = "[object Float32Array]"
      , r5 = "[object Float64Array]"
      , a5 = "[object Int8Array]"
      , s5 = "[object Int16Array]"
      , l5 = "[object Int32Array]"
      , c5 = "[object Uint8Array]"
      , u5 = "[object Uint8ClampedArray]"
      , h5 = "[object Uint16Array]"
      , d5 = "[object Uint32Array]"
      , be = {};
    be[o5] = be[r5] = be[a5] = be[s5] = be[l5] = be[c5] = be[u5] = be[h5] = be[d5] = !0;
    be[Wc] = be[Qc] = be[n5] = be[Kc] = be[i5] = be[Zc] = be[Hc] = be[Uc] = be[Xc] = be[Gc] = be[$c] = be[Jc] = be[qc] = be[e5] = be[t5] = !1;
    function p5(n) {
        return jc(n) && Vc(n.length) && !!be[Yc(n)]
    }
    var g5 = p5;
    function v5(n) {
        return function(l) {
            return n(l)
        }
    }
    var Ni = v5
      , Ht = {}
      , f5 = {
        get exports() {
            return Ht
        },
        set exports(n) {
            Ht = n
        }
    };
    (function(n, l) {
        var a = Nr
          , v = l && !l.nodeType && l
          , m = v && !0 && n && !n.nodeType && n
          , C = m && m.exports === v
          , S = C && a.process
          , b = function() {
            try {
                var A = m && m.require && m.require("util").types;
                return A || S && S.binding && S.binding("util")
            } catch {}
        }();
        n.exports = b
    }
    )(f5, Ht);
    var y5 = g5
      , m5 = Ni
      , $o = Ht
      , Jo = $o && $o.isTypedArray
      , C5 = Jo ? m5(Jo) : y5
      , x5 = C5
      , _5 = Sc
      , b5 = Fc
      , w5 = $t
      , S5 = yn
      , L5 = Kr
      , k5 = x5
      , M5 = Object.prototype
      , A5 = M5.hasOwnProperty;
    function T5(n, l) {
        var a = w5(n)
          , v = !a && b5(n)
          , m = !a && !v && S5(n)
          , C = !a && !v && !m && k5(n)
          , S = a || v || m || C
          , b = S ? _5(n.length, String) : []
          , A = b.length;
        for (var T in n)
            (l || A5.call(n, T)) && !(S && (T == "length" || m && (T == "offset" || T == "parent") || C && (T == "buffer" || T == "byteLength" || T == "byteOffset") || L5(T, A))) && b.push(T);
        return b
    }
    var Ur = T5
      , E5 = Object.prototype;
    function I5(n) {
        var l = n && n.constructor
          , a = typeof l == "function" && l.prototype || E5;
        return n === a
    }
    var Ri = I5;
    function D5(n, l) {
        return function(a) {
            return n(l(a))
        }
    }
    var Xr = D5
      , P5 = Xr
      , F5 = P5(Object.keys, Object)
      , B5 = F5
      , N5 = Ri
      , R5 = B5
      , O5 = Object.prototype
      , z5 = O5.hasOwnProperty;
    function Y5(n) {
        if (!N5(n))
            return R5(n);
        var l = [];
        for (var a in Object(n))
            z5.call(n, a) && a != "constructor" && l.push(a);
        return l
    }
    var V5 = Y5
      , j5 = Or
      , W5 = Hr;
    function Q5(n) {
        return n != null && W5(n.length) && !j5(n)
    }
    var Gr = Q5
      , K5 = Ur
      , Z5 = V5
      , H5 = Gr;
    function U5(n) {
        return H5(n) ? K5(n) : Z5(n)
    }
    var Oi = U5
      , X5 = Xn
      , G5 = Oi;
    function $5(n, l) {
        return n && X5(l, G5(l), n)
    }
    var J5 = $5;
    function q5(n) {
        var l = [];
        if (n != null)
            for (var a in Object(n))
                l.push(a);
        return l
    }
    var e6 = q5
      , t6 = Gt
      , n6 = Ri
      , i6 = e6
      , o6 = Object.prototype
      , r6 = o6.hasOwnProperty;
    function a6(n) {
        if (!t6(n))
            return i6(n);
        var l = n6(n)
          , a = [];
        for (var v in n)
            v == "constructor" && (l || !r6.call(n, v)) || a.push(v);
        return a
    }
    var s6 = a6
      , l6 = Ur
      , c6 = s6
      , u6 = Gr;
    function h6(n) {
        return u6(n) ? l6(n, !0) : c6(n)
    }
    var zi = h6
      , d6 = Xn
      , p6 = zi;
    function g6(n, l) {
        return n && d6(l, p6(l), n)
    }
    var v6 = g6
      , zn = {}
      , f6 = {
        get exports() {
            return zn
        },
        set exports(n) {
            zn = n
        }
    };
    (function(n, l) {
        var a = ut
          , v = l && !l.nodeType && l
          , m = v && !0 && n && !n.nodeType && n
          , C = m && m.exports === v
          , S = C ? a.Buffer : void 0
          , b = S ? S.allocUnsafe : void 0;
        function A(T, I) {
            if (I)
                return T.slice();
            var B = T.length
              , H = b ? b(B) : new T.constructor(B);
            return T.copy(H),
            H
        }
        n.exports = A
    }
    )(f6, zn);
    function y6(n, l) {
        var a = -1
          , v = n.length;
        for (l || (l = Array(v)); ++a < v; )
            l[a] = n[a];
        return l
    }
    var m6 = y6;
    function C6(n, l) {
        for (var a = -1, v = n == null ? 0 : n.length, m = 0, C = []; ++a < v; ) {
            var S = n[a];
            l(S, a, n) && (C[m++] = S)
        }
        return C
    }
    var x6 = C6;
    function _6() {
        return []
    }
    var $r = _6
      , b6 = x6
      , w6 = $r
      , S6 = Object.prototype
      , L6 = S6.propertyIsEnumerable
      , qo = Object.getOwnPropertySymbols
      , k6 = qo ? function(n) {
        return n == null ? [] : (n = Object(n),
        b6(qo(n), function(l) {
            return L6.call(n, l)
        }))
    }
    : w6
      , Yi = k6
      , M6 = Xn
      , A6 = Yi;
    function T6(n, l) {
        return M6(n, A6(n), l)
    }
    var E6 = T6;
    function I6(n, l) {
        for (var a = -1, v = l.length, m = n.length; ++a < v; )
            n[m + a] = l[a];
        return n
    }
    var Jr = I6
      , D6 = Xr
      , P6 = D6(Object.getPrototypeOf, Object)
      , qr = P6
      , F6 = Jr
      , B6 = qr
      , N6 = Yi
      , R6 = $r
      , O6 = Object.getOwnPropertySymbols
      , z6 = O6 ? function(n) {
        for (var l = []; n; )
            F6(l, N6(n)),
            n = B6(n);
        return l
    }
    : R6
      , e1 = z6
      , Y6 = Xn
      , V6 = e1;
    function j6(n, l) {
        return Y6(n, V6(n), l)
    }
    var W6 = j6
      , Q6 = Jr
      , K6 = $t;
    function Z6(n, l, a) {
        var v = l(n);
        return K6(n) ? v : Q6(v, a(n))
    }
    var t1 = Z6
      , H6 = t1
      , U6 = Yi
      , X6 = Oi;
    function G6(n) {
        return H6(n, X6, U6)
    }
    var $6 = G6
      , J6 = t1
      , q6 = e1
      , e2 = zi;
    function t2(n) {
        return J6(n, e2, q6)
    }
    var n2 = t2
      , i2 = zt
      , o2 = ut
      , r2 = i2(o2, "DataView")
      , a2 = r2
      , s2 = zt
      , l2 = ut
      , c2 = s2(l2, "Promise")
      , u2 = c2
      , h2 = zt
      , d2 = ut
      , p2 = h2(d2, "Set")
      , g2 = p2
      , v2 = zt
      , f2 = ut
      , y2 = v2(f2, "WeakMap")
      , m2 = y2
      , Si = a2
      , Li = Fi
      , ki = u2
      , Mi = g2
      , Ai = m2
      , n1 = mn
      , on = zr
      , er = "[object Map]"
      , C2 = "[object Object]"
      , tr = "[object Promise]"
      , nr = "[object Set]"
      , ir = "[object WeakMap]"
      , or = "[object DataView]"
      , x2 = on(Si)
      , _2 = on(Li)
      , b2 = on(ki)
      , w2 = on(Mi)
      , S2 = on(Ai)
      , Nt = n1;
    (Si && Nt(new Si(new ArrayBuffer(1))) != or || Li && Nt(new Li) != er || ki && Nt(ki.resolve()) != tr || Mi && Nt(new Mi) != nr || Ai && Nt(new Ai) != ir) && (Nt = function(n) {
        var l = n1(n)
          , a = l == C2 ? n.constructor : void 0
          , v = a ? on(a) : "";
        if (v)
            switch (v) {
            case x2:
                return or;
            case _2:
                return er;
            case b2:
                return tr;
            case w2:
                return nr;
            case S2:
                return ir
            }
        return l
    }
    );
    var Vi = Nt
      , L2 = Object.prototype
      , k2 = L2.hasOwnProperty;
    function M2(n) {
        var l = n.length
          , a = new n.constructor(l);
        return l && typeof n[0] == "string" && k2.call(n, "index") && (a.index = n.index,
        a.input = n.input),
        a
    }
    var A2 = M2
      , T2 = ut
      , E2 = T2.Uint8Array
      , I2 = E2
      , rr = I2;
    function D2(n) {
        var l = new n.constructor(n.byteLength);
        return new rr(l).set(new rr(n)),
        l
    }
    var ji = D2
      , P2 = ji;
    function F2(n, l) {
        var a = l ? P2(n.buffer) : n.buffer;
        return new n.constructor(a,n.byteOffset,n.byteLength)
    }
    var B2 = F2
      , N2 = /\w*$/;
    function R2(n) {
        var l = new n.constructor(n.source,N2.exec(n));
        return l.lastIndex = n.lastIndex,
        l
    }
    var O2 = R2
      , ar = Qn
      , sr = ar ? ar.prototype : void 0
      , lr = sr ? sr.valueOf : void 0;
    function z2(n) {
        return lr ? Object(lr.call(n)) : {}
    }
    var Y2 = z2
      , V2 = ji;
    function j2(n, l) {
        var a = l ? V2(n.buffer) : n.buffer;
        return new n.constructor(a,n.byteOffset,n.length)
    }
    var W2 = j2
      , Q2 = ji
      , K2 = B2
      , Z2 = O2
      , H2 = Y2
      , U2 = W2
      , X2 = "[object Boolean]"
      , G2 = "[object Date]"
      , $2 = "[object Map]"
      , J2 = "[object Number]"
      , q2 = "[object RegExp]"
      , e3 = "[object Set]"
      , t3 = "[object String]"
      , n3 = "[object Symbol]"
      , i3 = "[object ArrayBuffer]"
      , o3 = "[object DataView]"
      , r3 = "[object Float32Array]"
      , a3 = "[object Float64Array]"
      , s3 = "[object Int8Array]"
      , l3 = "[object Int16Array]"
      , c3 = "[object Int32Array]"
      , u3 = "[object Uint8Array]"
      , h3 = "[object Uint8ClampedArray]"
      , d3 = "[object Uint16Array]"
      , p3 = "[object Uint32Array]";
    function g3(n, l, a) {
        var v = n.constructor;
        switch (l) {
        case i3:
            return Q2(n);
        case X2:
        case G2:
            return new v(+n);
        case o3:
            return K2(n, a);
        case r3:
        case a3:
        case s3:
        case l3:
        case c3:
        case u3:
        case h3:
        case d3:
        case p3:
            return U2(n, a);
        case $2:
            return new v;
        case J2:
        case t3:
            return new v(n);
        case q2:
            return Z2(n);
        case e3:
            return new v;
        case n3:
            return H2(n)
        }
    }
    var v3 = g3
      , f3 = Gt
      , cr = Object.create
      , y3 = function() {
        function n() {}
        return function(l) {
            if (!f3(l))
                return {};
            if (cr)
                return cr(l);
            n.prototype = l;
            var a = new n;
            return n.prototype = void 0,
            a
        }
    }()
      , m3 = y3
      , C3 = m3
      , x3 = qr
      , _3 = Ri;
    function b3(n) {
        return typeof n.constructor == "function" && !_3(n) ? C3(x3(n)) : {}
    }
    var w3 = b3
      , S3 = Vi
      , L3 = Jt
      , k3 = "[object Map]";
    function M3(n) {
        return L3(n) && S3(n) == k3
    }
    var A3 = M3
      , T3 = A3
      , E3 = Ni
      , ur = Ht
      , hr = ur && ur.isMap
      , I3 = hr ? E3(hr) : T3
      , D3 = I3
      , P3 = Vi
      , F3 = Jt
      , B3 = "[object Set]";
    function N3(n) {
        return F3(n) && P3(n) == B3
    }
    var R3 = N3
      , O3 = R3
      , z3 = Ni
      , dr = Ht
      , pr = dr && dr.isSet
      , Y3 = pr ? z3(pr) : O3
      , V3 = Y3
      , j3 = yc
      , W3 = Cc
      , Q3 = Di
      , K3 = J5
      , Z3 = v6
      , H3 = zn
      , U3 = m6
      , X3 = E6
      , G3 = W6
      , $3 = $6
      , J3 = n2
      , q3 = Vi
      , e8 = A2
      , t8 = v3
      , n8 = w3
      , i8 = $t
      , o8 = yn
      , r8 = D3
      , a8 = Gt
      , s8 = V3
      , l8 = Oi
      , c8 = zi
      , u8 = 1
      , h8 = 2
      , d8 = 4
      , i1 = "[object Arguments]"
      , p8 = "[object Array]"
      , g8 = "[object Boolean]"
      , v8 = "[object Date]"
      , f8 = "[object Error]"
      , o1 = "[object Function]"
      , y8 = "[object GeneratorFunction]"
      , m8 = "[object Map]"
      , C8 = "[object Number]"
      , r1 = "[object Object]"
      , x8 = "[object RegExp]"
      , _8 = "[object Set]"
      , b8 = "[object String]"
      , w8 = "[object Symbol]"
      , S8 = "[object WeakMap]"
      , L8 = "[object ArrayBuffer]"
      , k8 = "[object DataView]"
      , M8 = "[object Float32Array]"
      , A8 = "[object Float64Array]"
      , T8 = "[object Int8Array]"
      , E8 = "[object Int16Array]"
      , I8 = "[object Int32Array]"
      , D8 = "[object Uint8Array]"
      , P8 = "[object Uint8ClampedArray]"
      , F8 = "[object Uint16Array]"
      , B8 = "[object Uint32Array]"
      , _e = {};
    _e[i1] = _e[p8] = _e[L8] = _e[k8] = _e[g8] = _e[v8] = _e[M8] = _e[A8] = _e[T8] = _e[E8] = _e[I8] = _e[m8] = _e[C8] = _e[r1] = _e[x8] = _e[_8] = _e[b8] = _e[w8] = _e[D8] = _e[P8] = _e[F8] = _e[B8] = !0;
    _e[f8] = _e[o1] = _e[S8] = !1;
    function Dn(n, l, a, v, m, C) {
        var S, b = l & u8, A = l & h8, T = l & d8;
        if (a && (S = m ? a(n, v, m, C) : a(n)),
        S !== void 0)
            return S;
        if (!a8(n))
            return n;
        var I = i8(n);
        if (I) {
            if (S = e8(n),
            !b)
                return U3(n, S)
        } else {
            var B = q3(n)
              , H = B == o1 || B == y8;
            if (o8(n))
                return H3(n, b);
            if (B == r1 || B == i1 || H && !m) {
                if (S = A || H ? {} : n8(n),
                !b)
                    return A ? G3(n, Z3(S, n)) : X3(n, K3(S, n))
            } else {
                if (!_e[B])
                    return m ? n : {};
                S = t8(n, B, b)
            }
        }
        C || (C = new j3);
        var Z = C.get(n);
        if (Z)
            return Z;
        C.set(n, S),
        s8(n) ? n.forEach(function(ve) {
            S.add(Dn(ve, l, a, ve, n, C))
        }) : r8(n) && n.forEach(function(ve, le) {
            S.set(le, Dn(ve, l, a, le, n, C))
        });
        var ce = T ? A ? J3 : $3 : A ? c8 : l8
          , ge = I ? void 0 : ce(n);
        return W3(ge || n, function(ve, le) {
            ge && (le = ve,
            ve = n[le]),
            Q3(S, le, Dn(ve, l, a, le, n, C))
        }),
        S
    }
    var N8 = Dn
      , R8 = N8
      , O8 = 1
      , z8 = 4;
    function Y8(n) {
        return R8(n, O8 | z8)
    }
    var V8 = Y8;
    const j8 = Y("<button></button>")
      , W8 = n=>(()=>{
        const l = j8.cloneNode(!0);
        return kt(l, "click", n.onClick, !0),
        K(l, ()=>n.children),
        Pe(a=>{
            const v = n.style
              , m = `klinecharts-pro-button ${n.type ?? "confirm"} ${n.class ?? ""}`;
            return a._v$ = Xt(l, v, a._v$),
            m !== a._v$2 && Ot(l, a._v$2 = m),
            a
        }
        , {
            _v$: void 0,
            _v$2: void 0
        }),
        l
    }
    )();
    ct(["click"]);
    const Q8 = Y('<svg viewBox="0 0 1024 1024" class="icon"><path d="M810.666667 128H213.333333c-46.933333 0-85.333333 38.4-85.333333 85.333333v597.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h597.333334c46.933333 0 85.333333-38.4 85.333333-85.333333V213.333333c0-46.933333-38.4-85.333333-85.333333-85.333333z m-353.706667 567.04a42.496 42.496 0 0 1-60.16 0L243.626667 541.866667c-8.106667-8.106667-12.373333-18.773333-12.373334-29.866667s4.693333-22.186667 12.373334-29.866667a42.496 42.496 0 0 1 60.16 0L426.666667 604.586667l293.546666-293.546667a42.496 42.496 0 1 1 60.16 60.16l-323.413333 323.84z"></path></svg>')
      , K8 = Y('<svg viewBox="0 0 1024 1024" class="icon"><path d="M245.333333 128h533.333334A117.333333 117.333333 0 0 1 896 245.333333v533.333334A117.333333 117.333333 0 0 1 778.666667 896H245.333333A117.333333 117.333333 0 0 1 128 778.666667V245.333333A117.333333 117.333333 0 0 1 245.333333 128z m0 64c-29.44 0-53.333333 23.893333-53.333333 53.333333v533.333334c0 29.44 23.893333 53.333333 53.333333 53.333333h533.333334c29.44 0 53.333333-23.893333 53.333333-53.333333V245.333333c0-29.44-23.893333-53.333333-53.333333-53.333333H245.333333z"></path></svg>')
      , Z8 = Y("<div></div>")
      , H8 = Y('<span class="label"></span>')
      , U8 = ()=>Q8.cloneNode(!0)
      , X8 = ()=>K8.cloneNode(!0)
      , gr = n=>{
        const [l,a] = ie(n.checked ?? !1);
        return vt(()=>{
            "checked"in n && a(n.checked)
        }
        ),
        (()=>{
            const v = Z8.cloneNode(!0);
            return v.$$click = m=>{
                const C = !l();
                n.onChange && n.onChange(C),
                a(C)
            }
            ,
            K(v, (()=>{
                const m = Ae(()=>!!l());
                return ()=>m() ? W(U8, {}) : W(X8, {})
            }
            )(), null),
            K(v, (()=>{
                const m = Ae(()=>!!n.label);
                return ()=>m() && (()=>{
                    const C = H8.cloneNode(!0);
                    return K(C, ()=>n.label),
                    C
                }
                )()
            }
            )(), null),
            Pe(m=>{
                const C = n.style
                  , S = `klinecharts-pro-checkbox ${l() && "checked" || ""} ${n.class || ""}`;
                return m._v$ = Xt(v, C, m._v$),
                S !== m._v$2 && Ot(v, m._v$2 = S),
                m
            }
            , {
                _v$: void 0,
                _v$2: void 0
            }),
            v
        }
        )()
    }
    ;
    ct(["click"]);
    const G8 = Y('<div class="klinecharts-pro-loading"><i class="circle1"></i><i class="circle2"></i><i class="circle3"></i></div>')
      , a1 = ()=>G8.cloneNode(!0)
      , $8 = Y('<div class="klinecharts-pro-empty"><svg class="icon" viewBox="0 0 1024 1024"><path d="M855.6 427.2H168.5c-12.7 0-24.4 6.9-30.6 18L4.4 684.7C1.5 689.9 0 695.8 0 701.8v287.1c0 19.4 15.7 35.1 35.1 35.1H989c19.4 0 35.1-15.7 35.1-35.1V701.8c0-6-1.5-11.8-4.4-17.1L886.2 445.2c-6.2-11.1-17.9-18-30.6-18zM673.4 695.6c-16.5 0-30.8 11.5-34.3 27.7-12.7 58.5-64.8 102.3-127.2 102.3s-114.5-43.8-127.2-102.3c-3.5-16.1-17.8-27.7-34.3-27.7H119c-26.4 0-43.3-28-31.1-51.4l81.7-155.8c6.1-11.6 18-18.8 31.1-18.8h622.4c13 0 25 7.2 31.1 18.8l81.7 155.8c12.2 23.4-4.7 51.4-31.1 51.4H673.4zM819.9 209.5c-1-1.8-2.1-3.7-3.2-5.5-9.8-16.6-31.1-22.2-47.8-12.6L648.5 261c-17 9.8-22.7 31.6-12.6 48.4 0.9 1.4 1.7 2.9 2.5 4.4 9.5 17 31.2 22.8 48 13L807 257.3c16.7-9.7 22.4-31 12.9-47.8zM375.4 261.1L255 191.6c-16.7-9.6-38-4-47.8 12.6-1.1 1.8-2.1 3.6-3.2 5.5-9.5 16.8-3.8 38.1 12.9 47.8L337.3 327c16.9 9.7 38.6 4 48-13.1 0.8-1.5 1.7-2.9 2.5-4.4 10.2-16.8 4.5-38.6-12.4-48.4zM512 239.3h2.5c19.5 0.3 35.5-15.5 35.5-35.1v-139c0-19.3-15.6-34.9-34.8-35.1h-6.4C489.6 30.3 474 46 474 65.2v139c0 19.5 15.9 35.4 35.5 35.1h2.5z"></path></svg></div>')
      , J8 = ()=>$8.cloneNode(!0)
      , q8 = Y("<ul></ul>")
      , eu = Y("<li></li>")
      , Yn = n=>(()=>{
        const l = q8.cloneNode(!0);
        return K(l, W(Oe, {
            get when() {
                return n.loading
            },
            get children() {
                return W(a1, {})
            }
        }), null),
        K(l, W(Oe, {
            get when() {
                var a;
                return !n.loading && !n.children && !((a = n.dataSource) != null && a.length)
            },
            get children() {
                return W(J8, {})
            }
        }), null),
        K(l, W(Oe, {
            get when() {
                return n.children
            },
            get children() {
                return n.children
            }
        }), null),
        K(l, W(Oe, {
            get when() {
                return !n.children
            },
            get children() {
                var a;
                return (a = n.dataSource) == null ? void 0 : a.map(v=>{
                    var m;
                    return ((m = n.renderItem) == null ? void 0 : m.call(n, v)) ?? eu.cloneNode(!0)
                }
                )
            }
        }), null),
        Pe(a=>{
            const v = n.style
              , m = `klinecharts-pro-list ${n.class ?? ""}`;
            return a._v$ = Xt(l, v, a._v$),
            m !== a._v$2 && Ot(l, a._v$2 = m),
            a
        }
        , {
            _v$: void 0,
            _v$2: void 0
        }),
        l
    }
    )()
      , tu = Y('<div class="klinecharts-pro-modal"><div class="inner"><div class="title-container"><svg class="close-icon" viewBox="0 0 1024 1024"><path d="M934.184927 199.723787 622.457206 511.452531l311.727721 311.703161c14.334473 14.229073 23.069415 33.951253 23.069415 55.743582 0 43.430138-35.178197 78.660524-78.735226 78.660524-21.664416 0-41.361013-8.865925-55.642275-23.069415L511.149121 622.838388 199.420377 934.490384c-14.204513 14.20349-33.901111 23.069415-55.642275 23.069415-43.482327 0-78.737272-35.230386-78.737272-78.660524 0-21.792329 8.864902-41.513486 23.094998-55.743582l311.677579-311.703161L88.135828 199.723787c-14.230096-14.255679-23.094998-33.92567-23.094998-55.642275 0-43.430138 35.254945-78.762855 78.737272-78.762855 21.741163 0 41.437761 8.813736 55.642275 23.069415l311.727721 311.727721L822.876842 88.389096c14.281261-14.255679 33.977859-23.069415 55.642275-23.069415 43.557028 0 78.735226 35.332716 78.735226 78.762855C957.254342 165.798117 948.5194 185.468109 934.184927 199.723787"></path></svg></div><div class="content-container"></div></div></div>')
      , nu = Y('<div class="button-container"></div>')
      , rn = n=>(()=>{
        const l = tu.cloneNode(!0)
          , a = l.firstChild
          , v = a.firstChild
          , m = v.firstChild
          , C = v.nextSibling;
        return K(v, ()=>n.title, m),
        kt(m, "click", n.onClose, !0),
        K(C, ()=>n.children),
        K(a, (()=>{
            const S = Ae(()=>!!(n.buttons && n.buttons.length > 0));
            return ()=>S() && (()=>{
                const b = nu.cloneNode(!0);
                return K(b, ()=>n.buttons.map(A=>W(W8, Br(A, {
                    get children() {
                        return A.children
                    }
                })))),
                b
            }
            )()
        }
        )(), null),
        Pe(()=>a.style.setProperty("width", `${n.width ?? 400}px`)),
        l
    }
    )();
    ct(["click"]);
    const iu = Y('<div tabindex="0"><div class="selector-container"><span class="value"></span><i class="arrow"></i></div></div>')
      , ou = Y('<div class="drop-down-container"><ul></ul></div>')
      , ru = Y("<li></li>")
      , s1 = n=>{
        const [l,a] = ie(!1);
        return (()=>{
            const v = iu.cloneNode(!0)
              , m = v.firstChild
              , C = m.firstChild;
            return v.addEventListener("blur", S=>{
                a(!1)
            }
            ),
            v.$$click = S=>{
                a(b=>!b)
            }
            ,
            K(C, ()=>n.value),
            K(v, (()=>{
                const S = Ae(()=>!!(n.dataSource && n.dataSource.length > 0));
                return ()=>S() && (()=>{
                    const b = ou.cloneNode(!0)
                      , A = b.firstChild;
                    return K(A, ()=>n.dataSource.map(T=>{
                        const I = T[n.valueKey ?? "text"] ?? T;
                        return (()=>{
                            const B = ru.cloneNode(!0);
                            return B.$$click = H=>{
                                var Z;
                                H.stopPropagation(),
                                n.value !== I && ((Z = n.onSelected) == null || Z.call(n, T)),
                                a(!1)
                            }
                            ,
                            K(B, I),
                            B
                        }
                        )()
                    }
                    )),
                    b
                }
                )()
            }
            )(), null),
            Pe(S=>{
                const b = n.style
                  , A = `klinecharts-pro-select ${n.class ?? ""} ${l() ? "klinecharts-pro-select-show" : ""}`;
                return S._v$ = Xt(v, b, S._v$),
                A !== S._v$2 && Ot(v, S._v$2 = A),
                S
            }
            , {
                _v$: void 0,
                _v$2: void 0
            }),
            v
        }
        )()
    }
    ;
    ct(["click"]);
    const au = Y('<span class="prefix"></span>')
      , su = Y('<span class="suffix"></span>')
      , lu = Y('<div><input class="value"></div>')
      , l1 = n=>{
        const l = Br({
            min: Number.MIN_SAFE_INTEGER,
            max: Number.MAX_SAFE_INTEGER
        }, n);
        let a;
        const [v,m] = ie("normal");
        return (()=>{
            const C = lu.cloneNode(!0)
              , S = C.firstChild;
            return C.$$click = ()=>{
                a == null || a.focus()
            }
            ,
            K(C, W(Oe, {
                get when() {
                    return l.prefix
                },
                get children() {
                    const b = au.cloneNode(!0);
                    return K(b, ()=>l.prefix),
                    b
                }
            }), S),
            S.addEventListener("change", b=>{
                var A, T;
                const I = b.target.value;
                if ("precision"in l) {
                    let B;
                    const H = Math.max(0, Math.floor(l.precision));
                    H <= 0 ? B = new RegExp(/^[1-9]\d*$/) : B = new RegExp("^\\d+\\.?\\d{0," + H + "}$"),
                    (I === "" || B.test(I) && +I >= l.min && +I <= l.max) && ((A = l.onChange) == null || A.call(l, I === "" ? I : +I))
                } else
                    (T = l.onChange) == null || T.call(l, I)
            }
            ),
            S.addEventListener("blur", ()=>{
                m("normal")
            }
            ),
            S.addEventListener("focus", ()=>{
                m("focus")
            }
            ),
            Ii(b=>{
                a = b
            }
            , S),
            K(C, W(Oe, {
                get when() {
                    return l.suffix
                },
                get children() {
                    const b = su.cloneNode(!0);
                    return K(b, ()=>l.suffix),
                    b
                }
            }), null),
            Pe(b=>{
                const A = l.style
                  , T = `klinecharts-pro-input ${l.class ?? ""}`
                  , I = v()
                  , B = l.placeholder ?? "";
                return b._v$ = Xt(C, A, b._v$),
                T !== b._v$2 && Ot(C, b._v$2 = T),
                I !== b._v$3 && He(C, "data-status", b._v$3 = I),
                B !== b._v$4 && He(S, "placeholder", b._v$4 = B),
                b
            }
            , {
                _v$: void 0,
                _v$2: void 0,
                _v$3: void 0,
                _v$4: void 0
            }),
            Pe(()=>S.value = l.value),
            C
        }
        )()
    }
    ;
    ct(["click"]);
    const cu = Y('<div><i class="thumb"></i></div>')
      , uu = n=>(()=>{
        const l = cu.cloneNode(!0);
        return l.$$click = a=>{
            n.onChange && n.onChange()
        }
        ,
        Pe(a=>{
            const v = n.style
              , m = `klinecharts-pro-switch ${n.open ? "turn-on" : "turn-off"} ${n.class ?? ""}`;
            return a._v$ = Xt(l, v, a._v$),
            m !== a._v$2 && Ot(l, a._v$2 = m),
            a
        }
        , {
            _v$: void 0,
            _v$2: void 0
        }),
        l
    }
    )();
    ct(["click"]);
    const hu = "指标"
      , du = "主图指标"
      , pu = "副图指标"
      , gu = "设置"
      , vu = "时区"
      , fu = "截屏"
      , yu = "全屏"
      , mu = "退出全屏"
      , Cu = "保存"
      , xu = "确定"
      , _u = "取消"
      , bu = "MA(移动平均线)"
      , wu = "EMA(指数平滑移动平均线)"
      , Su = "SMA"
      , Lu = "BOLL(布林线)"
      , ku = "BBI(多空指数)"
      , Mu = "SAR(停损点指向指标)"
      , Au = "VOL(成交量)"
      , Tu = "MACD(指数平滑异同移动平均线)"
      , Eu = "KDJ(随机指标)"
      , Iu = "RSI(相对强弱指标)"
      , Du = "BIAS(乖离率)"
      , Pu = "BRAR(情绪指标)"
      , Fu = "CCI(顺势指标)"
      , Bu = "DMI(动向指标)"
      , Nu = "CR(能量指标)"
      , Ru = "PSY(心理线)"
      , Ou = "DMA(平行线差指标)"
      , zu = "TRIX(三重指数平滑平均线)"
      , Yu = "OBV(能量潮指标)"
      , Vu = "VR(成交量变异率)"
      , ju = "WR(威廉指标)"
      , Wu = "MTM(动量指标)"
      , Qu = "EMV(简易波动指标)"
      , Ku = "ROC(变动率指标)"
      , Zu = "PVT(价量趋势指标)"
      , Hu = "AO(动量震荡指标)"
      , Uu = "世界统一时间"
      , Xu = "(UTC-10) 檀香山"
      , Gu = "(UTC-8) 朱诺"
      , $u = "(UTC-7) 洛杉矶"
      , Ju = "(UTC-5) 芝加哥"
      , qu = "(UTC-4) 多伦多"
      , e7 = "(UTC-3) 圣保罗"
      , t7 = "(UTC+1) 伦敦"
      , n7 = "(UTC+2) 柏林"
      , i7 = "(UTC+3) 巴林"
      , o7 = "(UTC+4) 迪拜"
      , r7 = "(UTC+5) 阿什哈巴德"
      , a7 = "(UTC+6) 阿拉木图"
      , s7 = "(UTC+7) 曼谷"
      , l7 = "(UTC+8) 上海"
      , c7 = "(UTC+9) 东京"
      , u7 = "(UTC+10) 悉尼"
      , h7 = "(UTC+12) 诺福克岛"
      , d7 = "水平直线"
      , p7 = "水平射线"
      , g7 = "水平线段"
      , v7 = "垂直直线"
      , f7 = "垂直射线"
      , y7 = "垂直线段"
      , m7 = "直线"
      , C7 = "射线"
      , x7 = "线段"
      , _7 = "箭头"
      , b7 = "价格线"
      , w7 = "价格通道线"
      , S7 = "平行直线"
      , L7 = "斐波那契回调直线"
      , k7 = "斐波那契回调线段"
      , M7 = "斐波那契圆环"
      , A7 = "斐波那契螺旋"
      , T7 = "斐波那契速度阻力扇"
      , E7 = "斐波那契趋势扩展"
      , I7 = "江恩箱"
      , D7 = "矩形"
      , P7 = "平行四边形"
      , F7 = "圆"
      , B7 = "三角形"
      , N7 = "三浪"
      , R7 = "五浪"
      , O7 = "八浪"
      , z7 = "任意浪"
      , Y7 = "ABCD形态"
      , V7 = "XABCD形态"
      , j7 = "弱磁模式"
      , W7 = "强磁模式"
      , Q7 = "商品搜索"
      , K7 = "商品代码"
      , Z7 = "参数1"
      , H7 = "参数2"
      , U7 = "参数3"
      , X7 = "参数4"
      , G7 = "参数5"
      , $7 = "周期"
      , J7 = "标准差"
      , q7 = "蜡烛图类型"
      , e4 = "全实心"
      , t4 = "全空心"
      , n4 = "涨空心"
      , i4 = "跌空心"
      , o4 = "OHLC"
      , r4 = "面积图"
      , a4 = "最新价显示"
      , s4 = "最高价显示"
      , l4 = "最低价显示"
      , c4 = "指标最新值显示"
      , u4 = "价格轴类型"
      , h4 = "线性轴"
      , d4 = "百分比轴"
      , p4 = "对数轴"
      , g4 = "倒置坐标"
      , v4 = "网格线显示"
      , f4 = "恢复默认"
      , y4 = {
        indicator: hu,
        main_indicator: du,
        sub_indicator: pu,
        setting: gu,
        timezone: vu,
        screenshot: fu,
        full_screen: yu,
        exit_full_screen: mu,
        save: Cu,
        confirm: xu,
        cancel: _u,
        ma: bu,
        ema: wu,
        sma: Su,
        boll: Lu,
        bbi: ku,
        sar: Mu,
        vol: Au,
        macd: Tu,
        kdj: Eu,
        rsi: Iu,
        bias: Du,
        brar: Pu,
        cci: Fu,
        dmi: Bu,
        cr: Nu,
        psy: Ru,
        dma: Ou,
        trix: zu,
        obv: Yu,
        vr: Vu,
        wr: ju,
        mtm: Wu,
        emv: Qu,
        roc: Ku,
        pvt: Zu,
        ao: Hu,
        utc: Uu,
        honolulu: Xu,
        juneau: Gu,
        los_angeles: $u,
        chicago: Ju,
        toronto: qu,
        sao_paulo: e7,
        london: t7,
        berlin: n7,
        bahrain: i7,
        dubai: o7,
        ashkhabad: r7,
        almaty: a7,
        bangkok: s7,
        shanghai: l7,
        tokyo: c7,
        sydney: u7,
        norfolk: h7,
        horizontal_straight_line: d7,
        horizontal_ray_line: p7,
        horizontal_segment: g7,
        vertical_straight_line: v7,
        vertical_ray_line: f7,
        vertical_segment: y7,
        straight_line: m7,
        ray_line: C7,
        segment: x7,
        arrow: _7,
        price_line: b7,
        price_channel_line: w7,
        parallel_straight_line: S7,
        fibonacci_line: L7,
        fibonacci_segment: k7,
        fibonacci_circle: M7,
        fibonacci_spiral: A7,
        fibonacci_speed_resistance_fan: T7,
        fibonacci_extension: E7,
        gann_box: I7,
        rect: D7,
        parallelogram: P7,
        circle: F7,
        triangle: B7,
        three_waves: N7,
        five_waves: R7,
        eight_waves: O7,
        any_waves: z7,
        abcd: Y7,
        xabcd: V7,
        weak_magnet: j7,
        strong_magnet: W7,
        symbol_search: Q7,
        symbol_code: K7,
        params_1: Z7,
        params_2: H7,
        params_3: U7,
        params_4: X7,
        params_5: G7,
        period: $7,
        standard_deviation: J7,
        candle_type: q7,
        candle_solid: e4,
        candle_stroke: t4,
        candle_up_stroke: n4,
        candle_down_stroke: i4,
        ohlc: o4,
        area: r4,
        last_price_show: a4,
        high_price_show: s4,
        low_price_show: l4,
        indicator_last_value_show: c4,
        price_axis_type: u4,
        normal: h4,
        percentage: d4,
        log: p4,
        reverse_coordinate: g4,
        grid_show: v4,
        restore_default: f4
    }
      , m4 = "Indicator"
      , C4 = "Main Indicator"
      , x4 = "Sub Indicator"
      , _4 = "Setting"
      , b4 = "Timezone"
      , w4 = "Screenshot"
      , S4 = "Full Screen"
      , L4 = "Exit"
      , k4 = "Save"
      , M4 = "Confirm"
      , A4 = "Cancel"
      , T4 = "MA(Moving Average)"
      , E4 = "EMA(Exponential Moving Average)"
      , I4 = "SMA"
      , D4 = "BOLL(Bolinger Bands)"
      , P4 = "BBI(Bull And Bearlndex)"
      , F4 = "SAR(Stop and Reverse)"
      , B4 = "VOL(Volume)"
      , N4 = "MACD(Moving Average Convergence / Divergence)"
      , R4 = "KDJ(KDJ Index)"
      , O4 = "RSI(Relative Strength Index)"
      , z4 = "BIAS(Bias Ratio)"
      , Y4 = "BRAR(情绪指标)"
      , V4 = "CCI(Commodity Channel Index)"
      , j4 = "DMI(Directional Movement Index)"
      , W4 = "CR(能量指标)"
      , Q4 = "PSY(Psychological Line)"
      , K4 = "DMA(Different of Moving Average)"
      , Z4 = "TRIX(Triple Exponentially Smoothed Moving Average)"
      , H4 = "OBV(On Balance Volume)"
      , U4 = "VR(Volatility Volume Ratio)"
      , X4 = "WR(Williams %R)"
      , G4 = "MTM(Momentum Index)"
      , $4 = "EMV(Ease of Movement Value)"
      , J4 = "ROC(Price Rate of Change)"
      , q4 = "PVT(Price and Volume Trend)"
      , eh = "AO(Awesome Oscillator)"
      , th = "UTC"
      , nh = "(UTC-10) Honolulu"
      , ih = "(UTC-8) Juneau"
      , oh = "(UTC-7) Los Angeles"
      , rh = "(UTC-5) Chicago"
      , ah = "(UTC-4) Toronto"
      , sh = "(UTC-3) Sao Paulo"
      , lh = "(UTC+1) London"
      , ch = "(UTC+2) Berlin"
      , uh = "(UTC+3) Bahrain"
      , hh = "(UTC+4) Dubai"
      , dh = "(UTC+5) Ashkhabad"
      , ph = "(UTC+6) Almaty"
      , gh = "(UTC+7) Bangkok"
      , vh = "(UTC+8) Shanghai"
      , fh = "(UTC+9) Tokyo"
      , yh = "(UTC+10) Sydney"
      , mh = "(UTC+12) Norfolk"
      , Ch = "Horizontal Line"
      , xh = "Horizontal Ray"
      , _h = "Horizontal Segment"
      , bh = "Vertical Line"
      , wh = "Vertical Ray"
      , Sh = "Vertical Segment"
      , Lh = "Trend Line"
      , kh = "Ray"
      , Mh = "Segment"
      , Ah = "Arrow"
      , Th = "Price Line"
      , Eh = "Price Channel Line"
      , Ih = "Parallel Line"
      , Dh = "Fibonacci Line"
      , Ph = "Fibonacci Segment"
      , Fh = "Fibonacci Circle"
      , Bh = "Fibonacci Spiral"
      , Nh = "Fibonacci Sector"
      , Rh = "Fibonacci Extension"
      , Oh = "Gann Box"
      , zh = "Rect"
      , Yh = "Parallelogram"
      , Vh = "Circle"
      , jh = "Triangle"
      , Wh = "Three Waves"
      , Qh = "Five Waves"
      , Kh = "Eight Waves"
      , Zh = "Any Waves"
      , Hh = "ABCD Pattern"
      , Uh = "XABCD Pattern"
      , Xh = "Weak Magnet"
      , Gh = "Strong Magnet"
      , $h = {
        indicator: m4,
        main_indicator: C4,
        sub_indicator: x4,
        setting: _4,
        timezone: b4,
        screenshot: w4,
        full_screen: S4,
        exit_full_screen: L4,
        save: k4,
        confirm: M4,
        cancel: A4,
        ma: T4,
        ema: E4,
        sma: I4,
        boll: D4,
        bbi: P4,
        sar: F4,
        vol: B4,
        macd: N4,
        kdj: R4,
        rsi: O4,
        bias: z4,
        brar: Y4,
        cci: V4,
        dmi: j4,
        cr: W4,
        psy: Q4,
        dma: K4,
        trix: Z4,
        obv: H4,
        vr: U4,
        wr: X4,
        mtm: G4,
        emv: $4,
        roc: J4,
        pvt: q4,
        ao: eh,
        utc: th,
        honolulu: nh,
        juneau: ih,
        los_angeles: oh,
        chicago: rh,
        toronto: ah,
        sao_paulo: sh,
        london: lh,
        berlin: ch,
        bahrain: uh,
        dubai: hh,
        ashkhabad: dh,
        almaty: ph,
        bangkok: gh,
        shanghai: vh,
        tokyo: fh,
        sydney: yh,
        norfolk: mh,
        horizontal_straight_line: Ch,
        horizontal_ray_line: xh,
        horizontal_segment: _h,
        vertical_straight_line: bh,
        vertical_ray_line: wh,
        vertical_segment: Sh,
        straight_line: Lh,
        ray_line: kh,
        segment: Mh,
        arrow: Ah,
        price_line: Th,
        price_channel_line: Eh,
        parallel_straight_line: Ih,
        fibonacci_line: Dh,
        fibonacci_segment: Ph,
        fibonacci_circle: Fh,
        fibonacci_spiral: Bh,
        fibonacci_speed_resistance_fan: Nh,
        fibonacci_extension: Rh,
        gann_box: Oh,
        rect: zh,
        parallelogram: Yh,
        circle: Vh,
        triangle: jh,
        three_waves: Wh,
        five_waves: Qh,
        eight_waves: Kh,
        any_waves: Zh,
        abcd: Hh,
        xabcd: Uh,
        weak_magnet: Xh,
        strong_magnet: Gh
    }
      , Jh = {
        "zh-CN": y4,
        "en-US": $h
    }
      , P = (n,l)=>{
        var a;
        return ((a = Jh[l]) == null ? void 0 : a[n]) ?? n
    }
      , qh = Y('<img alt="symbol">')
      , ed = Y('<div class="symbol"><span></span></div>')
      , td = Y('<div class="klinecharts-pro-period-bar"><div class="menu-container"><svg viewBox="0 0 1024 1024"><path d="M192.037 287.953h640.124c17.673 0 32-14.327 32-32s-14.327-32-32-32H192.037c-17.673 0-32 14.327-32 32s14.327 32 32 32zM832.161 479.169H438.553c-17.673 0-32 14.327-32 32s14.327 32 32 32h393.608c17.673 0 32-14.327 32-32s-14.327-32-32-32zM832.161 735.802H192.037c-17.673 0-32 14.327-32 32s14.327 32 32 32h640.124c17.673 0 32-14.327 32-32s-14.327-32-32-32zM319.028 351.594l-160 160 160 160z"></path></svg></div><div class="item tools"><svg viewBox="0 0 20 20"><path d="M15.873,20L3.65079,20C1.5873,20,0,18.3871,0,16.2903L0,3.70968C-3.78442e-7,1.6129,1.5873,0,3.65079,0L15.873,0C17.9365,0,19.5238,1.6129,19.5238,3.70968C19.5238,4.35484,19.2063,4.51613,18.5714,4.51613C17.9365,4.51613,17.619,4.19355,17.619,3.70968C17.619,2.74194,16.8254,1.93548,15.873,1.93548L3.65079,1.93548C2.69841,1.93548,1.90476,2.74194,1.90476,3.70968L1.90476,16.2903C1.90476,17.2581,2.69841,18.0645,3.65079,18.0645L15.873,18.0645C16.8254,18.0645,17.619,17.2581,17.619,16.2903C17.619,15.8065,18.0952,15.3226,18.5714,15.3226C19.0476,15.3226,19.5238,15.8065,19.5238,16.2903C19.5238,18.2258,17.9365,20,15.873,20ZM14.9206,12.9032C14.7619,12.9032,14.4444,12.9032,14.2857,12.7419L11.2698,9.35484C10.9524,9.03226,10.9524,8.54839,11.2698,8.22581C11.5873,7.90323,12.0635,7.90323,12.381,8.22581L15.3968,11.6129C15.7143,11.9355,15.7143,12.4194,15.3968,12.7419C15.3968,12.9032,15.2381,12.9032,14.9206,12.9032ZM11.4286,13.2258C11.2698,13.2258,11.1111,13.2258,10.9524,13.0645C10.6349,12.7419,10.6349,12.4194,10.9524,12.0968L15.0794,7.74193C15.3968,7.41935,15.7143,7.41935,16.0317,7.74193C16.3492,8.06452,16.3492,8.3871,16.0317,8.70968L11.9048,13.0645C11.746,13.2258,11.5873,13.2258,11.4286,13.2258ZM10.3175,3.70968C10.6349,3.70968,11.4286,3.87097,11.4286,4.67742C11.4286,5.32258,10.4762,5.16129,10.1587,5.16129C8.73016,5.16129,8.25397,5.96774,8.09524,6.6129L7.77778,8.54839L9.36508,8.54839C9.68254,8.54839,10,8.87097,10,9.19355C10,9.51613,9.68254,9.83871,9.36508,9.83871L7.61905,9.83871L6.50794,14.8387Q6.34921,16.2903,5.39683,16.2903Q4.44444,16.2903,4.92064,14.8387L6.03175,10L4.60317,10C4.28571,10,3.96825,9.67742,3.96825,9.35484C3.96825,8.70968,4.28571,8.54839,4.60317,8.54839L6.34921,8.54839L6.8254,6.45161C7.14286,3.70968,9.52381,3.54839,10.3175,3.70968ZM18.4127,6.6129C18.5714,6.12903,18.8889,5.96774,19.3651,5.96774C19.8413,6.12903,20,6.45161,20,6.93548L18.4127,13.3871C18.254,13.871,17.9365,14.0323,17.4603,14.0323C16.9841,13.871,16.8254,13.5484,16.8254,13.0645L18.4127,6.6129Z"></path></svg><span></span></div><div class="item tools"><svg width="20" height="20" viewBox="0 0 20 20"><path d="M18.5446,9.09091C18.3333,6.61616,17.2887,4.31818,15.5751,2.63889C13.8498,0.94697,11.6197,0,9.28404,0C8.02817,0,6.81925,0.265151,5.66901,0.782828C5.65728,0.782828,5.65728,0.795454,5.64554,0.795454C5.6338,0.795454,5.6338,0.808081,5.62207,0.808081C4.53052,1.31313,3.55634,2.0202,2.71127,2.92929C1.85446,3.85101,1.18545,4.91162,0.715963,6.11111C0.246479,7.33586,0,8.64899,0,10C0,10.8712,0.105634,11.7172,0.305164,12.5379C0.305164,12.5631,0.316901,12.5884,0.328638,12.6136C0.739437,14.2298,1.51408,15.7197,2.62911,16.9571C4.07277,18.548,5.92723,19.5581,7.93427,19.8737C7.95775,19.8737,7.96948,19.8864,7.99296,19.8864C8.3216,19.9369,8.66197,19.9747,9.00235,19.9747L9.21362,19.9747C9.61268,19.9747,10.3756,19.9369,11.0094,19.697C11.1737,19.6338,11.3028,19.5076,11.3732,19.3434C11.4437,19.1793,11.4554,18.9899,11.3967,18.8131C11.3028,18.5354,11.0563,18.346,10.7864,18.346C10.716,18.346,10.6338,18.3586,10.5634,18.3838C10.0939,18.5606,9.46009,18.5859,9.20188,18.5859L9.09624,18.5859C9.20188,18.2702,9.23709,17.9167,9.15493,17.5505C9.00235,16.8939,8.50939,16.3384,7.58216,15.7955L7.19484,15.5682C6.57277,15.2146,6.23239,15.0253,6.03286,14.7348C5.83333,14.4444,5.69249,13.9899,5.51643,12.9798C5.38732,12.298,5.04695,11.7677,4.50704,11.4646C4.14319,11.2626,3.70892,11.149,3.19249,11.149C2.82864,11.149,2.42958,11.1995,2.00704,11.3005C1.79578,11.351,1.59624,11.4141,1.42019,11.4646C1.33803,10.9848,1.30282,10.4798,1.30282,9.97475C1.30282,6.93182,2.76995,4.26768,4.98826,2.72727C5,3.00505,5.05869,3.29545,5.17606,3.57323C5.48122,4.26768,6.10329,4.7096,7.01878,4.89899C7.06573,4.91162,7.10094,4.91162,7.13615,4.91162L7.1831,4.91162C7.26526,4.91162,7.57042,4.92424,7.88732,5.0505C8.3216,5.2399,8.56808,5.55555,8.65023,6.04798C8.84977,7.61364,9.07277,10.4293,8.79108,11.3384C8.76761,11.4141,8.75587,11.4899,8.75587,11.5657C8.75587,11.9444,9.0493,12.2601,9.40141,12.2601C9.57747,12.2601,9.74179,12.1843,9.85915,12.0581C9.97653,11.9318,12.6174,9.05303,13.3216,8.09343C13.4038,7.97979,13.4859,7.87878,13.5798,7.76515C13.9202,7.33586,14.2723,6.90656,14.4014,6.26262C14.554,5.56818,14.4014,4.79798,13.9437,3.85101C13.615,3.16919,13.5563,2.86616,13.5446,2.75252C13.5563,2.7399,13.5798,2.72727,13.6033,2.71464C15.6221,4.10353,17.0188,6.43939,17.2535,9.19192C17.2887,9.55808,17.5587,9.82323,17.8991,9.82323L17.9577,9.82323C18.3099,9.8106,18.5681,9.48232,18.5446,9.09091ZM3.19249,12.5631C3.48592,12.5631,3.72066,12.6136,3.89671,12.7146C4.08451,12.8283,4.19014,12.9924,4.23709,13.2702C4.43662,14.3434,4.61268,15.0631,5,15.6061C5.37559,16.1364,5.85681,16.4015,6.58451,16.8182L6.60798,16.8308C6.71362,16.8939,6.84272,16.9571,6.96009,17.0328C7.69953,17.4621,7.86385,17.7525,7.89906,17.8914C7.93427,18.0303,7.85211,18.2323,7.74648,18.4343C4.91784,17.8535,2.65258,15.6944,1.73709,12.8283C2.15962,12.702,2.71127,12.5631,3.19249,12.5631ZM12.7934,4.5202C13.4272,5.83333,13.1455,6.18687,12.5822,6.89394C12.4883,7.00758,12.3944,7.12121,12.3005,7.24747C11.9484,7.72727,11.0211,8.77525,10.2113,9.68434C10.2113,9.24242,10.1878,8.73737,10.1526,8.19444C10.0704,6.95707,9.92958,5.90909,9.92958,5.87121L9.92958,5.83333C9.75352,4.83586,9.20188,4.11616,8.3216,3.76263C7.82864,3.56061,7.37089,3.53535,7.19484,3.53535C6.73709,3.43434,6.4554,3.24495,6.33803,2.99242C6.19718,2.68939,6.29108,2.24747,6.38498,1.9697C7.28873,1.59091,8.26291,1.37626,9.28404,1.37626C10.3873,1.37626,11.4437,1.61616,12.4061,2.04545C12.3357,2.18434,12.277,2.34848,12.2535,2.5505C12.2066,3.04293,12.3709,3.64899,12.7934,4.5202Z"></path><path d="M15.22299772857666,9.722223632261718C12.59389772857666,9.722223632261718,10.44600772857666,12.020201374511718,10.44600772857666,14.861111374511719C10.44600772857666,17.70202137451172,12.58215772857666,20.000021374511718,15.223007728576661,20.000021374511718C17.86384772857666,20.000021374511718,19.99999772857666,17.70202137451172,19.99999772857666,14.861111374511719C19.99999772857666,12.020201374511718,17.85211772857666,9.72222212709572,15.22299772857666,9.722223632261718ZM15.22299772857666,18.598491374511717C13.30985772857666,18.598491374511717,11.737087728576661,16.91919137451172,11.737087728576661,14.848481374511719C11.737087728576661,12.777781374511719,13.29811772857666,11.098491374511719,15.22299772857666,11.098491374511719C17.14787772857666,11.098491374511719,18.708917728576658,12.777781374511719,18.708917728576658,14.848481374511719C18.708917728576658,16.91919137451172,17.13614772857666,18.59848137451172,15.22299772857666,18.598491374511717Z"></path><path d="M15.692486288146974,15.050496970825195L15.692486288146974,12.676760970825196C15.692486288146974,12.297972970825196,15.399058288146973,11.982316970825195,15.046945288146972,11.982316970825195C14.694833288146972,11.982316970825195,14.401406288146973,12.297972970825196,14.401406288146973,12.676760970825196L14.401406288146973,15.340896970825195C14.401406288146973,15.530296970825194,14.471829288146973,15.694436970825196,14.589200288146973,15.833326970825196L15.751176288146972,17.095956970825195C15.868546288146973,17.222216970825194,16.032866288146973,17.297976970825196,16.208916288146973,17.297976970825196C16.384976288146973,17.297976970825196,16.537556288146973,17.222216970825194,16.666666288146974,17.095956970825195C16.78403628814697,16.969686970825194,16.854456288146974,16.792916970825196,16.854456288146974,16.603526970825193C16.854456288146974,16.414136970825197,16.78403628814697,16.237366970825196,16.666666288146974,16.111106970825197L15.692486288146974,15.050496970825195Z"></path></svg><span></span></div><div class="item tools"><svg viewBox="0 0 20 20"><path d="M19.7361,12.542L18.1916,11.2919C18.2647,10.8678,18.3025,10.4347,18.3025,10.0017C18.3025,9.56861,18.2647,9.13555,18.1916,8.71142L19.7361,7.46135C19.9743,7.26938,20.0615,6.95686,19.9554,6.6756L19.9342,6.61756C19.5074,5.49026,18.8755,4.45449,18.0549,3.53926L18.0124,3.49238C17.8096,3.26692,17.4819,3.1821,17.1848,3.28032L15.2677,3.92544C14.5603,3.3763,13.7704,2.94324,12.9168,2.63966L12.5466,0.742229C12.49,0.449802,12.2472,0.222111,11.9383,0.168536L11.8746,0.157375C10.6461,-0.0524583,9.35391,-0.0524583,8.1254,0.157375L8.06174,0.168536C7.75284,0.222111,7.50997,0.449802,7.45338,0.742229L7.08082,2.64859C6.2343,2.95217,5.44909,3.383,4.74641,3.92991L2.81522,3.28032C2.52047,3.1821,2.19036,3.26469,1.98757,3.49238L1.94513,3.53926C1.12455,4.45672,0.492609,5.49249,0.0658141,6.61756L0.0445921,6.6756C-0.0615171,6.95463,0.0257283,7.26715,0.263885,7.46135L1.82723,8.72482C1.75413,9.14448,1.71876,9.57308,1.71876,9.99944C1.71876,10.428,1.75413,10.8566,1.82723,11.2741L0.263885,12.5375C0.025729,12.7295,-0.0615164,13.042,0.0445929,13.3233L0.0658148,13.3813C0.49261,14.5064,1.12455,15.5444,1.94513,16.4596L1.98757,16.5065C2.19036,16.732,2.51812,16.8168,2.81522,16.7186L4.74641,16.069C5.44909,16.6159,6.2343,17.0489,7.08082,17.3503L7.45338,19.2567C7.50997,19.5491,7.75284,19.7768,8.06174,19.8303L8.1254,19.8415C8.74084,19.9464,9.37042,20,10,20C10.6296,20,11.2615,19.9464,11.8746,19.8415L11.9383,19.8303C12.2472,19.7768,12.49,19.5491,12.5466,19.2567L12.9168,17.3592C13.7704,17.0556,14.5603,16.6248,15.2677,16.0734L17.1848,16.7186C17.4795,16.8168,17.8096,16.7342,18.0124,16.5065L18.0549,16.4596C18.8755,15.5422,19.5074,14.5064,19.9342,13.3813L19.9554,13.3233C20.0615,13.0487,19.9743,12.7362,19.7361,12.542ZM16.5175,8.97483C16.5764,9.3119,16.6071,9.65791,16.6071,10.0039C16.6071,10.3499,16.5764,10.6959,16.5175,11.033L16.3618,11.9281L18.1233,13.3545C17.8568,13.9372,17.5196,14.4863,17.1188,14.9975L14.9305,14.2631L14.1901,14.839C13.6266,15.2765,12.9994,15.6203,12.3203,15.8614L11.4219,16.1806L10.9998,18.3459C10.3372,18.4173,9.66045,18.4173,8.9955,18.3459L8.57342,16.1761L7.6821,15.8524C7.01008,15.6114,6.38521,15.2676,5.82637,14.8323L5.08596,14.2541L2.88361,14.9953C2.48275,14.4841,2.14791,13.9327,1.8791,13.3523L3.65938,11.9125L3.50611,11.0196C3.44952,10.687,3.41887,10.3432,3.41887,10.0039C3.41887,9.66237,3.44716,9.32083,3.50611,8.98822L3.65938,8.09531L1.8791,6.6555C2.14556,6.07288,2.48275,5.52374,2.88361,5.01255L5.08596,5.75367L5.82637,5.17551C6.38521,4.74022,7.01008,4.39645,7.6821,4.15536L8.57578,3.83615L8.99786,1.66638C9.66045,1.59495,10.3372,1.59495,11.0021,1.66638L11.4242,3.83168L12.3226,4.1509C12.9994,4.39198,13.6289,4.73575,14.1925,5.17328L14.9329,5.7492L17.1211,5.01479C17.522,5.52598,17.8568,6.07734,18.1256,6.65773L16.3642,8.08416L16.5175,8.97483ZM10.0024,5.85189C7.7104,5.85189,5.85231,7.61092,5.85231,9.78068C5.85231,11.9504,7.7104,13.7095,10.0024,13.7095C12.2943,13.7095,14.1524,11.9504,14.1524,9.78068C14.1524,7.61092,12.2943,5.85189,10.0024,5.85189ZM11.8699,11.5486C11.37,12.0196,10.7074,12.2808,10.0024,12.2808C9.29732,12.2808,8.63473,12.0196,8.13483,11.5486C7.6373,11.0754,7.36142,10.4481,7.36142,9.78068C7.36142,9.11323,7.6373,8.48596,8.13483,8.01272C8.63473,7.53948,9.29732,7.28054,10.0024,7.28054C10.7074,7.28054,11.37,7.53948,11.8699,8.01272C12.3674,8.48596,12.6433,9.11323,12.6433,9.78068C12.6433,10.4481,12.3674,11.0754,11.8699,11.5486Z"></path></svg><span></span></div><div class="item tools"><svg viewBox="0 0 20 20"><path d="M6.50977,1L13.4902,1C13.6406,1,13.7695,1.1104910000000001,13.7969,1.2631700000000001L14.0273,2.52277C14.1387,3.13147,14.6543,3.57143,15.2559,3.57143L17.5,3.57143C18.8809,3.57143,20,4.72254,20,6.14286L20,16.4286C20,17.8489,18.8809,19,17.5,19L2.5,19C1.11914,19,0,17.8489,0,16.4286L0,6.14286C0,4.72254,1.11914,3.57143,2.5,3.57143L4.74414,3.57143C5.3457,3.57143,5.86133,3.13147,5.97266,2.52277L6.20312,1.2631700000000001C6.23047,1.1104910000000001,6.35937,1,6.50977,1ZM15.2559,4.857139999999999C14.0547,4.857139999999999,13.0215,3.97522,12.7988,2.75982L12.7129,2.28571L7.28711,2.28571L7.20117,2.75982C6.98047,3.97522,5.94727,4.857139999999999,4.74414,4.857139999999999L2.5,4.857139999999999C1.81055,4.857139999999999,1.25,5.43371,1.25,6.14286L1.25,16.4286C1.25,17.1377,1.81055,17.7143,2.5,17.7143L17.5,17.7143C18.1895,17.7143,18.75,17.1377,18.75,16.4286L18.75,6.14286C18.75,5.43371,18.1895,4.857139999999999,17.5,4.857139999999999L15.2559,4.857139999999999ZM4.375,6.78571L3.125,6.78571C2.7793,6.78571,2.5,6.49844,2.5,6.14286C2.5,5.78728,2.7793,5.5,3.125,5.5L4.375,5.5C4.7207,5.5,5,5.78728,5,6.14286C5,6.49844,4.7207,6.78571,4.375,6.78571ZM10,6.14286C7.06641,6.14286,4.6875,8.58973,4.6875,11.6071C4.6875,14.6246,7.06641,17.0714,10,17.0714C12.9336,17.0714,15.3125,14.6246,15.3125,11.6071C15.3125,8.58973,12.9336,6.14286,10,6.14286ZM10,7.42857C11.0859,7.42857,12.1055,7.8625,12.873,8.65201C13.6406,9.44152,14.0625,10.49018,14.0625,11.6071C14.0625,12.7241,13.6406,13.7728,12.873,14.5623C12.1055,15.3518,11.0859,15.7857,10,15.7857C8.91406,15.7857,7.89453,15.3518,7.12695,14.5623C6.35937,13.7728,5.9375,12.7241,5.9375,11.6071C5.9375,10.49018,6.35938,9.44152,7.12695,8.65201C7.89453,7.8625,8.91406,7.42857,10,7.42857ZM10,9.67857C8.96484,9.67857,8.125,10.54241,8.125,11.6071C8.125,12.6719,8.96484,13.5357,10,13.5357C11.0352,13.5357,11.875,12.6719,11.875,11.6071C11.875,10.54241,11.0352,9.67857,10,9.67857ZM10,10.96429C10.3438,10.96429,10.625,11.2536,10.625,11.6071C10.625,11.9607,10.3438,12.25,10,12.25C9.65625,12.25,9.375,11.9607,9.375,11.6071C9.375,11.2536,9.65625,10.96429,10,10.96429Z"></path></svg><span></span></div><div class="item tools"></div></div>')
      , yi = Y("<span></span>")
      , nd = Y('<svg viewBox="0 0 20 20"><path d="M1.08108,0L0,1.079L4.18919,5.27938L2.54826,6.91715L6.9112,6.91715L6.9112,2.56262L5.28957,4.18112L1.08108,0ZM15.8108,5.27938L20,1.079L18.9189,0L14.7104,4.18112L13.0888,2.56262L13.0888,6.91715L17.4517,6.91715L15.8108,5.27938ZM4.16988,14.7014L0.07722,18.8054L1.1583,20L5.27027,15.7996L6.9112,17.4374L6.9112,13.0829L2.54826,13.0829L4.16988,14.7014ZM17.4517,13.0829L13.0888,13.0829L13.0888,17.4374L14.7297,15.7996L18.8417,20L19.9228,18.8054L15.8301,14.7013L17.4517,13.0829Z"></path></svg>')
      , id = Y('<svg viewBox="0 0 20 20"><path d="M2.93444,1.76899L7.57544,6.40999L6.38918,7.59626L1.76899,2.93444L0,4.70343L0,0L4.70343,0L2.93444,1.76899ZM6.40999,12.4037L1.76899,17.0447L0,15.2758L0,19.9792L4.70343,19.9792L2.93444,18.2102L7.57544,13.5692L6.40999,12.4037ZM15.2758,0L17.0447,1.76899L12.4037,6.40999L13.59,7.59626L18.231,2.95526L20,4.72425L20,0L15.2758,0ZM13.5692,12.4037L12.3829,13.59L17.0239,18.231L15.2549,20L19.9792,20L19.9792,15.2758L18.2102,17.0447L13.5692,12.4037Z"></path></svg>')
      , od = n=>{
        let l;
        const [a,v] = ie(!1)
          , m = ()=>{
            v(C=>!C)
        }
        ;
        return Ar(()=>{
            document.addEventListener("fullscreenchange", m),
            document.addEventListener("mozfullscreenchange", m),
            document.addEventListener("webkitfullscreenchange", m),
            document.addEventListener("msfullscreenchange", m)
        }
        ),
        Ei(()=>{
            document.removeEventListener("fullscreenchange", m),
            document.removeEventListener("mozfullscreenchange", m),
            document.removeEventListener("webkitfullscreenchange", m),
            document.removeEventListener("msfullscreenchange", m)
        }
        ),
        (()=>{
            const C = td.cloneNode(!0)
              , S = C.firstChild
              , b = S.firstChild
              , A = S.nextSibling
              , T = A.firstChild
              , I = T.nextSibling
              , B = A.nextSibling
              , H = B.firstChild
              , Z = H.nextSibling
              , ce = B.nextSibling
              , ge = ce.firstChild
              , ve = ge.nextSibling
              , le = ce.nextSibling
              , de = le.firstChild
              , pe = de.nextSibling
              , re = le.nextSibling;
            return Ii(J=>{
                l = J
            }
            , C),
            kt(b, "click", n.onMenuClick, !0),
            K(C, W(Oe, {
                get when() {
                    return n.symbol
                },
                get children() {
                    const J = ed.cloneNode(!0)
                      , me = J.firstChild;
                    return kt(J, "click", n.onSymbolClick, !0),
                    K(J, W(Oe, {
                        get when() {
                            return n.symbol.logo
                        },
                        get children() {
                            const Le = qh.cloneNode(!0);
                            return Pe(()=>He(Le, "src", n.symbol.logo)),
                            Le
                        }
                    }), me),
                    K(me, ()=>n.symbol.shortName ?? n.symbol.name ?? n.symbol.ticker),
                    J
                }
            }), A),
            K(C, ()=>n.periods.map(J=>(()=>{
                const me = yi.cloneNode(!0);
                return me.$$click = ()=>{
                    n.onPeriodChange(J)
                }
                ,
                K(me, ()=>J.text),
                Pe(()=>Ot(me, `item period ${J.text === n.period.text ? "selected" : ""}`)),
                me
            }
            )()), A),
            kt(A, "click", n.onIndicatorClick, !0),
            K(I, ()=>P("indicator", n.locale)),
            kt(B, "click", n.onTimezoneClick, !0),
            K(Z, ()=>P("timezone", n.locale)),
            kt(ce, "click", n.onSettingClick, !0),
            K(ve, ()=>P("setting", n.locale)),
            kt(le, "click", n.onScreenshotClick, !0),
            K(pe, ()=>P("screenshot", n.locale)),
            re.$$click = ()=>{
                if (a())
                    (document.exitFullscreen ?? document.msExitFullscreen ?? document.mozCancelFullScreen ?? document.webkitExitFullscreen).call(document);
                else {
                    const J = l == null ? void 0 : l.parentElement;
                    J && (J.requestFullscreen ?? J.webkitRequestFullscreen ?? J.mozRequestFullScreen ?? J.msRequestFullscreen).call(J)
                }
            }
            ,
            K(re, (()=>{
                const J = Ae(()=>!!a());
                return ()=>J() ? [nd.cloneNode(!0), (()=>{
                    const me = yi.cloneNode(!0);
                    return K(me, ()=>P("exit_full_screen", n.locale)),
                    me
                }
                )()] : [id.cloneNode(!0), (()=>{
                    const me = yi.cloneNode(!0);
                    return K(me, ()=>P("full_screen", n.locale)),
                    me
                }
                )()]
            }
            )()),
            Pe(()=>He(b, "class", n.spread ? "" : "rotate")),
            C
        }
        )()
    }
    ;
    ct(["click"]);
    const rd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M12.41465,11L18.5,11C18.7761,11,19,11.22386,19,11.5C19,11.77614,18.7761,12,18.5,12L12.41465,12C12.20873,12.5826,11.65311,13,11,13C10.34689,13,9.79127,12.5826,9.58535,12L3.5,12C3.223857,12,3,11.77614,3,11.5C3,11.22386,3.223857,11,3.5,11L9.58535,11C9.79127,10.417404,10.34689,10,11,10C11.65311,10,12.20873,10.417404,12.41465,11Z" stroke-opacity="0" stroke="none"></path></svg>')
      , ad = ()=>rd.cloneNode(!0)
      , sd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M6.91465,11L11.08535,11C11.29127,10.417404,11.84689,10,12.5,10C13.15311,10,13.70873,10.417404,13.91465,11L18.5,11C18.7761,11,19,11.22386,19,11.5C19,11.77614,18.7761,12,18.5,12L13.91465,12C13.70873,12.5826,13.15311,13,12.5,13C11.84689,13,11.29127,12.5826,11.08535,12L6.91465,12C6.70873,12.5826,6.15311,13,5.5,13C4.671573,13,4,12.32843,4,11.5C4,10.671573,4.671573,10,5.5,10C6.15311,10,6.70873,10.417404,6.91465,11Z" stroke-opacity="0" stroke="none"></path></svg>')
      , ld = ()=>sd.cloneNode(!0)
      , cd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M6.91465,12.5C6.70873,13.0826,6.15311,13.5,5.5,13.5C4.671573,13.5,4,12.82843,4,12C4,11.171573,4.671573,10.5,5.5,10.5C6.15311,10.5,6.70873,10.917404,6.91465,11.5L16.0853,11.5C16.2913,10.917404,16.846899999999998,10.5,17.5,10.5C18.328400000000002,10.5,19,11.171573,19,12C19,12.82843,18.328400000000002,13.5,17.5,13.5C16.846899999999998,13.5,16.2913,13.0826,16.0853,12.5L6.91465,12.5Z" stroke-opacity="0" stroke="none"></path></svg>')
      , ud = ()=>cd.cloneNode(!0)
      , hd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M11,12.41465L11,18.5C11,18.7761,11.22386,19,11.5,19C11.77614,19,12,18.7761,12,18.5L12,12.41465C12.5826,12.20873,13,11.65311,13,11C13,10.34689,12.5826,9.79127,12,9.58535L12,3.5C12,3.223857,11.77614,3,11.5,3C11.22386,3,11,3.223857,11,3.5L11,9.58535C10.417404,9.79127,10,10.34689,10,11C10,11.65311,10.417404,12.20873,11,12.41465Z" stroke-opacity="0" stroke="none"></path></svg>')
      , dd = ()=>hd.cloneNode(!0)
      , pd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M11.66558837890625,19C10.83716137890625,19,10.16558837890625,18.328400000000002,10.16558837890625,17.5C10.16558837890625,16.846899999999998,10.58298437890625,16.2913,11.16557337890625,16.0854L11.16557337890625,11.91464C10.58298437890625,11.70872,10.16558837890625,11.1531,10.16558837890625,10.5C10.16558837890625,9.8469,10.58298437890625,9.29128,11.16557337890625,9.08536L11.16557337890625,4.5C11.16557337890625,4.223857,11.38942837890625,4,11.66556837890625,4C11.94171837890625,4,12.16556837890625,4.223857,12.16556837890625,4.5L12.16556837890625,9.08535C12.74817837890625,9.291260000000001,13.16558837890625,9.846879999999999,13.16558837890625,10.5C13.16558837890625,11.153120000000001,12.74817837890625,11.708739999999999,12.16556837890625,11.91465L12.16556837890625,16.0854C12.74817837890625,16.2913,13.16558837890625,16.846899999999998,13.16558837890625,17.5C13.16558837890625,18.328400000000002,12.49401837890625,19,11.66558837890625,19Z" stroke-opacity="0" stroke="none"></path></svg>')
      , gd = ()=>pd.cloneNode(!0)
      , vd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M11.165603637695312,6.91465C11.748203637695312,6.70873,12.165603637695312,6.15311,12.165603637695312,5.5C12.165603637695312,4.671573,11.494033637695313,4,10.665603637695312,4C9.837176637695313,4,9.165603637695312,4.671573,9.165603637695312,5.5C9.165603637695312,6.15311,9.583007637695312,6.70873,10.165603637695312,6.91465L10.165603637695312,16.0854C9.583007637695312,16.2913,9.165603637695312,16.846899999999998,9.165603637695312,17.5C9.165603637695312,18.328400000000002,9.837176637695313,19,10.665603637695312,19C11.494033637695313,19,12.165603637695312,18.328400000000002,12.165603637695312,17.5C12.165603637695312,16.846899999999998,11.748203637695312,16.2913,11.165603637695312,16.0854L11.165603637695312,6.91465Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , fd = ()=>vd.cloneNode(!0)
      , yd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M5.146447,15.753C4.9511845,15.9483,4.9511845,16.2649,5.146447,16.4602C5.341709,16.6554,5.658291,16.6554,5.853554,16.4602L8.156600000000001,14.15711C8.352409999999999,14.25082,8.57173,14.3033,8.8033,14.3033C9.631730000000001,14.3033,10.3033,13.63172,10.3033,12.80329C10.3033,12.57172,10.250820000000001,12.352409999999999,10.157119999999999,12.15659L12.156600000000001,10.15711C12.352409999999999,10.250820000000001,12.571729999999999,10.30329,12.8033,10.30329C13.63173,10.30329,14.3033,9.63172,14.3033,8.80329C14.3033,8.57172,14.25082,8.352409999999999,14.15712,8.15659L16.4602,5.853553C16.6554,5.658291,16.6554,5.341709,16.4602,5.146447C16.2649,4.9511843,15.9483,4.9511843,15.753,5.146447L13.45001,7.449479999999999C13.25419,7.35577,13.03487,7.3032900000000005,12.8033,7.3032900000000005C11.97487,7.3032900000000005,11.3033,7.97487,11.3033,8.80329C11.3033,9.03487,11.35578,9.254190000000001,11.44949,9.450009999999999L9.450009999999999,11.449480000000001C9.254190000000001,11.35577,9.03487,11.30329,8.8033,11.30329C7.97487,11.30329,7.3033,11.97487,7.3033,12.80329C7.3033,13.03487,7.35578,13.25419,7.44949,13.45001L5.146447,15.753Z" stroke-opacity="0" stroke="none"></path></svg>')
      , md = ()=>yd.cloneNode(!0)
      , Cd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M7.573332939453125,14.54567903564453C7.667042939453125,14.741499035644532,7.719512939453125,14.960809035644532,7.719512939453125,15.19239903564453C7.719512939453125,16.02079903564453,7.047942939453125,16.69239903564453,6.219512939453125,16.69239903564453C5.391085939453125,16.69239903564453,4.719512939453125,16.02079903564453,4.719512939453125,15.19239903564453C4.719512939453125,14.36394903564453,5.391085939453125,13.692379035644532,6.219512939453125,13.692379035644532C6.451092939453125,13.692379035644532,6.670412939453125,13.74485903564453,6.866232939453125,13.83856903564453L9.865702939453126,10.83909903564453C9.771992939453124,10.643279035644532,9.719512939453125,10.42395903564453,9.719512939453125,10.192379035644532C9.719512939453125,9.36394903564453,10.391082939453124,8.692379035644532,11.219512939453125,8.692379035644532C11.451092939453126,8.692379035644532,11.670412939453126,8.74485903564453,11.866232939453125,8.838569035644532L15.462112939453124,5.242645035644531C15.657412939453126,5.047383335644532,15.974012939453125,5.047383335644532,16.169212939453125,5.242645035644531C16.364512939453125,5.437907035644531,16.364512939453125,5.754489035644531,16.169212939453125,5.949752035644531L12.573332939453124,9.545679035644532C12.667042939453125,9.74149903564453,12.719512939453125,9.96080903564453,12.719512939453125,10.192379035644532C12.719512939453125,11.020809035644533,12.047942939453126,11.692379035644532,11.219512939453125,11.692379035644532C10.987942939453125,11.692379035644532,10.768632939453125,11.639909035644532,10.572812939453126,11.54619903564453L7.573332939453125,14.54567903564453Z" stroke-opacity="0" stroke="none"></path></svg>')
      , xd = ()=>Cd.cloneNode(!0)
      , _d = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M15.719512939453125,8.461776733398438C16.547912939453127,8.461776733398438,17.219512939453125,7.7902067333984375,17.219512939453125,6.9617767333984375C17.219512939453125,6.133349733398438,16.547912939453127,5.4617767333984375,15.719512939453125,5.4617767333984375C14.891082939453124,5.4617767333984375,14.219512939453125,6.133349733398438,14.219512939453125,6.9617767333984375C14.219512939453125,7.193346733398437,14.271992939453124,7.412666733398438,14.365692939453124,7.608486733398438L7.366222939453126,14.607956733398437C7.170402939453125,14.514256733398437,6.951082939453125,14.461776733398438,6.719512939453125,14.461776733398438C5.891085939453125,14.461776733398438,5.219512939453125,15.133346733398437,5.219512939453125,15.961776733398438C5.219512939453125,16.79017673339844,5.891085939453125,17.461776733398438,6.719512939453125,17.461776733398438C7.547942939453125,17.461776733398438,8.219512939453125,16.79017673339844,8.219512939453125,15.961776733398438C8.219512939453125,15.730176733398437,8.167032939453126,15.510876733398437,8.073322939453124,15.315066733398437L15.072802939453124,8.315586733398437C15.268612939453124,8.409296733398438,15.487912939453125,8.461776733398438,15.719512939453125,8.461776733398438Z" stroke-opacity="0" stroke="none"></path></svg>')
      , bd = ()=>_d.cloneNode(!0)
      , wd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M17.0643,7.033864912109375L18,3.585784912109375L14.5078,4.509695912109375L15.3537,5.344934912109375L6.02026,14.560584912109375C5.87635,14.517484912109374,5.72366,14.494284912109375,5.5655,14.494284912109375C4.7009,14.494284912109375,4,15.186384912109375,4,16.040084912109375C4,16.893784912109375,4.7009,17.585784912109375,5.5655,17.585784912109375C6.43011,17.585784912109375,7.13101,16.893784912109375,7.13101,16.040084912109375C7.13101,15.722284912109375,7.03392,15.426984912109376,6.86744,15.181384912109374L16.0917,6.073604912109375L17.0643,7.033864912109375Z" stroke-opacity="0" stroke="none"></path></svg>')
      , Sd = ()=>wd.cloneNode(!0)
      , Ld = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M6.91465,13.00505L18.5,13.00505C18.7761,13.00505,19,13.228909999999999,19,13.50505C19,13.781189999999999,18.7761,14.00505,18.5,14.00505L6.91465,14.00505C6.70873,14.58765,6.15311,15.00505,5.5,15.00505C4.671573,15.00505,4,14.33348,4,13.50505C4,12.67662,4.671573,12.00505,5.5,12.00505C6.15311,12.00505,6.70873,12.422450000000001,6.91465,13.00505ZM7.81404,11.625L10.48591,11.625L10.48591,10.90625L9.65193,10.90625L9.65193,7.125L8.997630000000001,7.125C8.71443,7.306641,8.415600000000001,7.419922,7.96443,7.498047L7.96443,8.05078L8.77497,8.05078L8.77497,10.90625L7.81404,10.90625L7.81404,11.625ZM11.081620000000001,11.625L14.0562,11.625L14.0562,10.88281L13.09724,10.88281C12.8863,10.88281,12.59333,10.90625,12.36482,10.93555C13.17537,10.11328,13.84724,9.2207,13.84724,8.39062C13.84724,7.541016,13.28865,7,12.4488,7C11.84333,7,11.446850000000001,7.234375,11.03279,7.679688L11.52497,8.16797C11.747630000000001,7.914062,12.0113,7.697266,12.33552,7.697266C12.7613,7.697266,13.00154,7.982422,13.00154,8.43359C13.00154,9.14648,12.29255,10.00781,11.081620000000001,11.11523L11.081620000000001,11.625ZM15.9605,11.75C16.8121,11.75,17.526899999999998,11.2832,17.526899999999998,10.4375C17.526899999999998,9.82031,17.142200000000003,9.43945,16.6441,9.30078L16.6441,9.27148C17.1129,9.08594,17.3824,8.7207,17.3824,8.21289C17.3824,7.421875,16.8004,7,15.9429,7C15.4215,7,14.9957,7.210938,14.6109,7.541016L15.066,8.11133C15.3258,7.849609,15.5836,7.697266,15.9019,7.697266C16.2789,7.697266,16.4957,7.914062,16.4957,8.28125C16.4957,8.70898,16.2301,9,15.4215,9L15.4215,9.63672C16.3804,9.63672,16.6383,9.91992,16.6383,10.38086C16.6383,10.79688,16.3336,11.03125,15.8824,11.03125C15.4742,11.03125,15.1578,10.82227,14.8922,10.55078L14.4781,11.13281C14.7906,11.486329999999999,15.2652,11.75,15.9605,11.75Z" stroke-opacity="0" stroke="none"></path></svg>')
      , kd = ()=>Ld.cloneNode(!0)
      , Md = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M3.146447,14.178126025390625C2.9511847,13.982826025390626,2.9511847,13.666226025390625,3.146447,13.470926025390625L7.39146,9.225966025390626C7.35417,9.095106025390624,7.33421,8.956946025390625,7.33421,8.814116025390625C7.33421,7.985696025390625,8.00578,7.314116025390625,8.834209999999999,7.314116025390625C8.97703,7.314116025390625,9.11519,7.334086025390625,9.24605,7.371366025390625L13.753,2.864373025390625C13.9483,2.669110325390625,14.2649,2.669110325390625,14.4602,2.864373025390625C14.6554,3.059635025390625,14.6554,3.376217025390625,14.4602,3.571479025390625L10.06916,7.962476025390625C10.23631,8.204386025390626,10.334209999999999,8.497826025390625,10.334209999999999,8.814116025390625C10.334209999999999,9.642546025390626,9.66264,10.314116025390625,8.834209999999999,10.314116025390625C8.51791,10.314116025390625,8.22448,10.216226025390625,7.98256,10.049076025390626L3.853554,14.178126025390625C3.658291,14.373326025390625,3.341709,14.373326025390625,3.146447,14.178126025390625ZM7.67736,19.188526025390626C7.4821,18.993226025390626,7.4821,18.676626025390625,7.67736,18.481426025390626L9.9804,16.178326025390625C9.88669,15.982526025390625,9.834209999999999,15.763226025390624,9.834209999999999,15.531626025390626C9.834209999999999,14.703226025390626,10.50578,14.031626025390626,11.33421,14.031626025390626C11.56579,14.031626025390626,11.78511,14.084126025390624,11.98093,14.177826025390624L13.9804,12.178356025390626C13.8867,11.982536025390624,13.8342,11.763216025390625,13.8342,11.531636025390625C13.8342,10.703206025390624,14.5058,10.031636025390625,15.3342,10.031636025390625C15.5658,10.031636025390625,15.7851,10.084116025390625,15.9809,10.177826025390626L18.284,7.874796025390625C18.4792,7.679536025390625,18.7958,7.679536025390625,18.9911,7.874796025390625C19.1863,8.070056025390624,19.1863,8.386636025390626,18.9911,8.581906025390625L16.688000000000002,10.884936025390624C16.7817,11.080756025390626,16.8342,11.300066025390626,16.8342,11.531636025390625C16.8342,12.360066025390624,16.162599999999998,13.031626025390626,15.3342,13.031626025390626C15.1026,13.031626025390626,14.8833,12.979126025390626,14.6875,12.885426025390625L12.68803,14.884926025390625C12.78174,15.080726025390625,12.83421,15.300026025390626,12.83421,15.531626025390626C12.83421,16.360026025390624,12.16264,17.031626025390626,11.33421,17.031626025390626C11.10264,17.031626025390626,10.88333,16.979126025390627,10.68751,16.885426025390625L8.38446,19.188526025390626C8.1892,19.383726025390626,7.87262,19.383726025390626,7.67736,19.188526025390626Z" stroke-opacity="0" stroke="none"></path></svg>')
      , Ad = ()=>Md.cloneNode(!0)
      , Td = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M3.3367688759765626,12.63173C3.5320318759765623,12.82699,3.8486138759765627,12.82699,4.043876875976562,12.63173L11.822052875976562,4.853553C12.017312875976563,4.658291,12.017312875976563,4.341708,11.822052875976562,4.146446C11.626792875976562,3.9511843,11.310202875976563,3.9511843,11.114942875976563,4.146446L3.3367688759765626,11.92462C3.1415071759765625,12.11988,3.1415071759765625,12.43647,3.3367688759765626,12.63173ZM5.001492875976562,17.0351C4.806232875976562,16.8399,4.806232875976562,16.5233,5.001492875976562,16.328L7.304532875976562,14.025C7.210822875976563,13.82916,7.158352875976563,13.60984,7.158352875976563,13.37827C7.158352875976563,12.54984,7.829922875976562,11.87827,8.658352875976561,11.87827C8.889922875976563,11.87827,9.109232875976563,11.93075,9.305052875976562,12.02446L11.304532875976562,10.02498C11.210822875976563,9.82916,11.158352875976561,9.60984,11.158352875976561,9.37827C11.158352875976561,8.54984,11.829922875976562,7.8782700000000006,12.658352875976563,7.8782700000000006C12.889922875976563,7.8782700000000006,13.109232875976563,7.93075,13.305022875976562,8.024460000000001L15.608122875976562,5.72142C15.803322875976562,5.5261499999999995,16.119922875976563,5.5261499999999995,16.315222875976563,5.72142C16.510422875976563,5.9166799999999995,16.510422875976563,6.23326,16.315222875976563,6.42852L14.012122875976562,8.73156C14.105822875976562,8.92738,14.158322875976562,9.1467,14.158322875976562,9.37827C14.158322875976562,10.2067,13.486822875976562,10.87827,12.658352875976563,10.87827C12.426772875976562,10.87827,12.207452875976562,10.82579,12.011642875976563,10.73209L10.012162875976562,12.73156C10.105872875976562,12.92738,10.158352875976561,13.1467,10.158352875976561,13.37827C10.158352875976561,14.2067,9.486772875976563,14.8783,8.658352875976561,14.8783C8.426772875976562,14.8783,8.207452875976562,14.8258,8.011642875976563,14.7321L5.708602875976562,17.0351C5.513342875976562,17.2304,5.196752875976562,17.2304,5.001492875976562,17.0351ZM10.415712875976563,18.328C10.220452875976562,18.5233,9.903862875976563,18.5233,9.708602875976563,18.328C9.513342875976562,18.1328,9.513342875976562,17.816200000000002,9.708602875976563,17.6209L12.304532875976562,15.025C12.210822875976563,14.8292,12.158352875976563,14.6098,12.158352875976563,14.3783C12.158352875976563,13.54984,12.829922875976562,12.87827,13.658322875976562,12.87827C13.889922875976563,12.87827,14.109222875976563,12.93075,14.305022875976562,13.02446L17.486822875976564,9.84274C17.682022875976564,9.64747,17.99862287597656,9.64747,18.19392287597656,9.84274C18.38912287597656,10.038,18.38912287597656,10.35458,18.19392287597656,10.54984L15.012122875976562,13.73156C15.105822875976562,13.92738,15.158322875976562,14.1467,15.158322875976562,14.3783C15.158322875976562,15.2067,14.486822875976562,15.8783,13.658322875976562,15.8783C13.426822875976562,15.8783,13.207422875976562,15.8258,13.011642875976563,15.7321L10.415712875976563,18.328Z" stroke-opacity="0" stroke="none"></path></svg>')
      , Ed = ()=>Td.cloneNode(!0)
      , Id = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M13.1889,6C12.98303,6.582599999999999,12.42741,7,11.7743,7C11.12119,7,10.565570000000001,6.582599999999999,10.35965,6L3.5,6C3.223857,6,3,5.77614,3,5.5C3,5.22386,3.223857,5,3.5,5L10.35965,5C10.565570000000001,4.417404,11.12119,4,11.7743,4C12.42741,4,12.98303,4.417404,13.1889,5L18.5,5C18.7761,5,19,5.22386,19,5.5C19,5.77614,18.7761,6,18.5,6L13.1889,6ZM3,8.5C3,8.22386,3.223857,8,3.5,8L18.5,8C18.7761,8,19,8.22386,19,8.5C19,8.77614,18.7761,9,18.5,9L3.5,9C3.223857,9,3,8.77614,3,8.5ZM3.278549,11.5C3.278549,11.22386,3.502407,11,3.778549,11L18.7785,11C19.0547,11,19.2785,11.22386,19.2785,11.5C19.2785,11.77614,19.0547,12,18.7785,12L3.778549,12C3.502407,12,3.278549,11.77614,3.278549,11.5ZM3.139267,14.5C3.139267,14.2239,3.363124,14,3.6392670000000003,14L18.6393,14C18.915399999999998,14,19.1393,14.2239,19.1393,14.5C19.1393,14.7761,18.915399999999998,15,18.6393,15L3.6392670000000003,15C3.363124,15,3.139267,14.7761,3.139267,14.5ZM13.1889,18C12.98303,18.5826,12.42741,19,11.7743,19C11.12119,19,10.565570000000001,18.5826,10.35965,18L3.778549,18C3.502407,18,3.278549,17.7761,3.278549,17.5C3.278549,17.2239,3.502407,17,3.778549,17L10.35965,17C10.565570000000001,16.4174,11.12119,16,11.7743,16C12.42741,16,12.98303,16.4174,13.1889,17L18.7785,17C19.0547,17,19.2785,17.2239,19.2785,17.5C19.2785,17.7761,19.0547,18,18.7785,18L13.1889,18Z" stroke-opacity="0" stroke="none"></path></svg>')
      , Dd = ()=>Id.cloneNode(!0)
      , Pd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M4.91465,6C4.70873,6.582599999999999,4.15311,7,3.5,7C2.671573,7,2,6.32843,2,5.5C2,4.671573,2.671573,4,3.5,4C4.15311,4,4.70873,4.417404,4.91465,5L18.2257,5C18.5018,5,18.7257,5.22386,18.7257,5.5C18.7257,5.77614,18.5018,6,18.2257,6L4.91465,6ZM2.7257,8.5C2.7257,8.22386,2.949558,8,3.2257,8L18.2257,8C18.5018,8,18.7257,8.22386,18.7257,8.5C18.7257,8.77614,18.5018,9,18.2257,9L3.2257,9C2.949558,9,2.7257,8.77614,2.7257,8.5ZM3.00425,11.5C3.00425,11.22386,3.22811,11,3.50425,11L18.5042,11C18.7804,11,19.0042,11.22386,19.0042,11.5C19.0042,11.77614,18.7804,12,18.5042,12L3.50425,12C3.22811,12,3.00425,11.77614,3.00425,11.5ZM2.864967,14.5C2.864967,14.2239,3.08882,14,3.36497,14L18.365,14C18.6411,14,18.865,14.2239,18.865,14.5C18.865,14.7761,18.6411,15,18.365,15L3.36497,15C3.08882,15,2.864967,14.7761,2.864967,14.5ZM20,17.5C20,18.328400000000002,19.3284,19,18.5,19C17.846899999999998,19,17.2913,18.5826,17.0854,18L3.50425,18C3.22811,18,3.00425,17.7761,3.00425,17.5C3.00425,17.2239,3.22811,17,3.50425,17L17.0854,17C17.2913,16.4174,17.846899999999998,16,18.5,16C19.3284,16,20,16.671599999999998,20,17.5Z" stroke-opacity="0" stroke="none"></path></svg>')
      , Fd = ()=>Pd.cloneNode(!0)
      , Bd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><ellipse cx="10.5" cy="11.5" rx="1.5" ry="1.5" stroke-opacity="0" stroke="none"></ellipse><ellipse cx="17.5" cy="11.5" rx="1.5" ry="1.5" stroke-opacity="0" stroke="none"></ellipse><ellipse cx="10.5" cy="11.5" rx="7" ry="7" fill-opacity="0" stroke-opacity="1" fill="none" stroke-width="1"></ellipse><ellipse cx="10.5" cy="11.5" rx="5" ry="5" fill-opacity="0" stroke-opacity="1" fill="none" stroke-width="1"></ellipse><ellipse cx="10.5" cy="11.5" rx="3" ry="3" fill-opacity="0" stroke-opacity="1" fill="none" stroke-width="1"></ellipse></svg>')
      , Nd = ()=>Bd.cloneNode(!0)
      , Rd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M3,7.32468C5.90649,3.3893050000000002,11.49833,2.81306,14.6674,6.31944C14.9056,6.1554199999999994,15.192,6.05979,15.5,6.05979C15.845,6.05979,16.1628,6.17974,16.4162,6.381349999999999L18.4509,4.23827L19,4.816615L16.8945,7.03429C16.962600000000002,7.21075,17,7.40319,17,7.60463C17,8.45782,16.328400000000002,9.14947,15.5,9.14947C14.6716,9.14947,14,8.45782,14,7.60463C14,7.36402,14.0534,7.13625,14.1487,6.93322C11.32695,3.748365,6.25159,4.253956,3.612785,7.82695L3,7.32468ZM14.09,15.4717C15.7427,13.78985,16.244500000000002,11.524740000000001,15.5633,9.30134L15.5618,9.30134L16.3012,9.0502C17.072400000000002,11.56646,16.497700000000002,14.158,14.6282,16.0599C12.28737,18.442,8.62386,18.6988,6.41348,16.4501C4.5526,14.5572,4.52076,11.19671,6.36766,9.3177C7.89069,7.76754,10.07544,7.706189999999999,11.56741,9.22363C11.95453,9.61742,12.24817,10.08363,12.43369,10.57677L14.1451,8.77421L14.6942,9.35256L12.64982,11.50582C12.65827,11.59712,12.66295,11.68839,12.66378,11.77936C12.87398,12.04523,13,12.38451,13,12.7541C13,13.60729,12.32843,14.2989,11.5,14.2989C10.67157,14.2989,10,13.60729,10,12.7541C10,11.90091,10.67157,11.20926,11.5,11.20926C11.60387,11.20926,11.70528,11.220130000000001,11.8032,11.240829999999999L11.81763,11.22564C11.69858,10.71874,11.42858,10.21929,11.0284,9.81179C9.844000000000001,8.60765,8.136890000000001,8.65592,6.90822,9.90586C5.37975,11.460930000000001,5.40693,14.288,6.95404,15.8619C8.84598,17.7867,12.03496,17.5626,14.09,15.4717Z" stroke-opacity="0" stroke="none"></path></svg>')
      , Od = ()=>Rd.cloneNode(!0)
      , zd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M4,17.0854L4,3.5C4,3.223858,4.22386,3,4.5,3C4.77614,3,5,3.223858,5,3.5L5,10L7.57584,10L9.8127,4.46359C9.91614,4.20756,10.20756,4.08386,10.46359,4.1873000000000005C10.71963,4.29075,10.84333,4.58216,10.73988,4.8382000000000005L8.65438,10L11.08535,10C11.29127,9.4174,11.84689,9,12.5,9C12.65154,9,12.79784,9.02247,12.93573,9.06427L16.6464,5.35355C16.8417,5.15829,17.1583,5.15829,17.3536,5.35355C17.5488,5.54882,17.5488,5.8654,17.3536,6.06066L13.7475,9.66675C13.907,9.90508,14,10.19168,14,10.5C14,11.15311,13.5826,11.70873,13,11.91465L13,14.3638L18.3714,12.1936C18.6274,12.09015,18.918799999999997,12.21385,19.0222,12.46989C19.1257,12.72592,19.002,13.0173,18.746000000000002,13.1208L13,15.4423L13,18L19.5,18C19.7761,18,20,18.2239,20,18.5C20,18.7761,19.7761,19,19.5,19L5.91465,19C5.70873,19.5826,5.15311,20,4.5,20C3.671573,20,3,19.3284,3,18.5C3,17.846899999999998,3.417404,17.2913,4,17.0854ZM6.3729499999999994,17.0413L12,14.7678L12,11.91465C11.88136,11.87271,11.76956,11.81627,11.66675,11.74746L6.3729499999999994,17.0413ZM12,15.8463L6.6694700000000005,18L12,18L12,15.8463ZM6.38629,15.6137L8.250350000000001,11L11,11L6.38629,15.6137ZM5,11L7.17182,11L5,16.3754L5,11Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , Yd = ()=>zd.cloneNode(!0)
      , Vd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M17,4.5C17,5.32843,16.328400000000002,6,15.5,6C15.0931,6,14.7241,5.83802,14.4539,5.57503L5.98992,8.32515C5.99658,8.38251,6,8.440850000000001,6,8.5C6,9.15311,5.582599999999999,9.70873,5,9.91465L5,11.08535C5.42621,11.236,5.763999999999999,11.57379,5.91465,12L19.5,12C19.7761,12,20,12.22386,20,12.5C20,12.77614,19.7761,13,19.5,13L5.91465,13C5.70873,13.5826,5.15311,14,4.5,14C3.671573,14,3,13.3284,3,12.5C3,11.84689,3.417404,11.29127,4,11.08535L4,9.91465C3.417404,9.70873,3,9.15311,3,8.5C3,7.67157,3.671573,7,4.5,7C4.90411,7,5.2709,7.15981,5.5406200000000005,7.41967L14.0093,4.66802C14.0032,4.6128599999999995,14,4.5568,14,4.5C14,3.671573,14.6716,3,15.5,3C16.328400000000002,3,17,3.671573,17,4.5ZM4,15.5C4,15.2239,4.22386,15,4.5,15L19.5,15C19.7761,15,20,15.2239,20,15.5C20,15.7761,19.7761,16,19.5,16L4.5,16C4.22386,16,4,15.7761,4,15.5ZM4,18.5C4,18.2239,4.22386,18,4.5,18L19.5,18C19.7761,18,20,18.2239,20,18.5C20,18.7761,19.7761,19,19.5,19L4.5,19C4.22386,19,4,18.7761,4,18.5Z" stroke-opacity="0" stroke="none"></path></svg>')
      , jd = ()=>Vd.cloneNode(!0)
      , Wd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M20,3.5C20,4.15311,19.5826,4.70873,19,4.91465L19,18.5C19,18.7761,18.7761,19,18.5,19L4.91465,19C4.70873,19.5826,4.15311,20,3.5,20C2.671573,20,2,19.3284,2,18.5C2,17.846899999999998,2.417404,17.2913,3,17.0854L3,3.5C3,3.22386,3.22386,3,3.5,3L17.0854,3C17.2913,2.417404,17.846899999999998,2,18.5,2C19.3284,2,20,2.671573,20,3.5ZM17.0854,4C17.236,4.42621,17.5738,4.763999999999999,18,4.91465L18,8L14,8L14,4L17.0854,4ZM13,4L13,8L9,8L9,4L13,4ZM13,9L9,9L9,13L13,13L13,9ZM13,14L9,14L9,18L13,18L13,14ZM14,18L14,14L18,14L18,18L14,18ZM18,13L14,13L14,9L18,9L18,13ZM4.91465,18C4.763999999999999,17.5738,4.42621,17.236,4,17.0854L4,14L8,14L8,18L4.91465,18ZM4,8L4,4L8,4L8,8L4,8ZM8,9L8,13L4,13L4,9L8,9Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , Qd = ()=>Wd.cloneNode(!0)
      , Kd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><ellipse cx="10.5" cy="11.5" rx="1.5" ry="1.5" stroke-opacity="0" stroke="none"></ellipse><ellipse cx="17.5" cy="11.5" rx="1.5" ry="1.5" stroke-opacity="0" stroke="none"></ellipse><ellipse cx="10.5" cy="11.5" rx="7" ry="7" fill-opacity="0" fill="none" stroke-opacity="1" stroke-width="1"></ellipse></svg>')
      , Zd = ()=>Kd.cloneNode(!0)
      , Hd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M11.57625,6.9981C11.55099,6.999359999999999,11.52557,7,11.5,7C11.34,7,11.18584,6.97495,11.04125,6.9285499999999995L5.55401,16.4327C5.713760000000001,16.5905,5.83826,16.7839,5.91465,17L16.0854,17C16.2187,16.622700000000002,16.4987,16.314700000000002,16.8569,16.1445L11.57625,6.9981ZM12.50759,6.611219999999999C12.81005,6.336790000000001,13,5.94058,13,5.5C13,4.671573,12.32843,4,11.5,4C10.67157,4,10,4.671573,10,5.5C10,5.80059,10.08841,6.08052,10.24066,6.31522L4.64514,16.0069C4.59738,16.002299999999998,4.54896,16,4.5,16C3.671573,16,3,16.671599999999998,3,17.5C3,18.328400000000002,3.671573,19,4.5,19C5.15311,19,5.70873,18.5826,5.91465,18L16.0854,18C16.2913,18.5826,16.846899999999998,19,17.5,19C18.328400000000002,19,19,18.328400000000002,19,17.5C19,16.8365,18.5691,16.2735,17.971899999999998,16.075699999999998L12.50759,6.611219999999999Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , Ud = ()=>Hd.cloneNode(!0)
      , Xd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M19,4.5C19,5.15311,18.5826,5.70873,18,5.91465L18,18.5C18,18.7761,17.7761,19,17.5,19L5.91465,19C5.70873,19.5826,5.15311,20,4.5,20C3.671573,20,3,19.3284,3,18.5C3,17.846899999999998,3.417404,17.2913,4,17.0854L4,4.5C4,4.22386,4.22386,4,4.5,4L16.0854,4C16.2913,3.417404,16.846899999999998,3,17.5,3C18.328400000000002,3,19,3.671573,19,4.5ZM5,5L16.0854,5C16.236,5.42621,16.5738,5.763999999999999,17,5.91465L17,18L5.91465,18C5.763999999999999,17.5738,5.42621,17.236,5,17.0854L5,5Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , Gd = ()=>Xd.cloneNode(!0)
      , $d = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M19.6401,7.99355C20.4028,7.92291,21,7.2811900000000005,21,6.5C21,5.671573,20.3284,5,19.5,5C18.8469,5,18.2913,5.417404,18.0854,6L7.62067,6C7.34453,6,7.12067,6.22386,7.12067,6.5C7.12067,6.5479,7.12741,6.59423,7.13999,6.63809L3.2294099999999997,15.0243C2.530138,15.1517,2,15.764,2,16.5C2,17.328400000000002,2.671573,18,3.5,18C4.15311,18,4.70873,17.5826,4.91465,17L14.5963,17C14.6456,17.076,14.7162,17.1396,14.8044,17.1807C15.0546,17.2974,15.3521,17.1891,15.4688,16.9388L19.6401,7.99355ZM14.7896,16.0293L18.6551,7.739599999999999C18.3942,7.56144,18.1925,7.30307,18.0854,7L8.0746,7L4.25044,15.2009C4.55701,15.3784,4.79493,15.6613,4.91465,16L14.6207,16C14.68,16,14.7368,16.0103,14.7896,16.0293Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , Jd = ()=>$d.cloneNode(!0)
      , qd = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M8.134443814697265,7.494615087890625L8.764323814697265,7.494615087890625L8.764323814697265,3.414215087890625L8.310223814697267,3.414215087890625L7.294603814697266,4.005035087890625L7.289713814697266,4.634915087890625L8.134443814697265,4.149892087890625L8.134443814697265,7.494615087890625ZM18.832003814697266,6.933095087890624Q19.004603814697266,6.635245087890625,19.004603814697266,6.2543850878906255Q19.004603814697266,5.884915087890625,18.845103814697264,5.593575087890625Q18.685503814697267,5.3006050878906255,18.399103814697266,5.136225087890625Q18.114303814697266,4.9702050878906245,17.754603814697266,4.9653250878906245L18.820603814697265,3.840647087890625L18.820603814697265,3.414215087890625L16.519203814697264,3.414215087890625L16.519203814697264,3.939931087890625L18.050803814697264,3.939931087890625L16.719403814697266,5.334785087890625L17.074203814697263,5.7205350878906245Q17.254903814697265,5.484525087890625,17.619503814697268,5.484525087890625Q17.980803814697268,5.484525087890625,18.187503814697266,5.689605087890625Q18.394203814697267,5.894685087890625,18.394203814697267,6.2543850878906255Q18.394203814697267,6.604315087890625,18.187503814697266,6.822415087890625Q17.980803814697268,7.0405150878906255,17.640603814697265,7.0405150878906255Q17.334603814697267,7.0405150878906255,17.124703814697266,6.890775087890625Q16.914703814697265,6.739415087890626,16.820303814697265,6.469225087890624L16.354803814697263,6.744295087890626Q16.480103814697266,7.125155087890625,16.821903814697265,7.341625087890625Q17.165403814697264,7.559725087890625,17.640603814697265,7.559725087890625Q18.039403814697266,7.559725087890625,18.348603814697267,7.393705087890625Q18.659503814697267,7.229315087890625,18.832003814697266,6.933095087890624ZM10.000003814697266,10.634915087890626C10.000003814697266,11.024655087890626,9.851363814697265,11.379685087890625,9.607683814697266,11.646395087890625L12.168903814697266,15.171615087890626C12.275403814697265,15.147615087890625,12.386203814697266,15.134915087890626,12.500003814697266,15.134915087890626C12.596503814697266,15.134915087890626,12.690803814697265,15.144015087890624,12.782303814697265,15.161415087890624L16.108803814697268,11.196955087890625C16.038703814697264,11.023375087890624,16.000003814697266,10.833655087890625,16.000003814697266,10.634915087890626C16.000003814697266,9.806495087890625,16.671603814697264,9.134915087890626,17.500003814697266,9.134915087890626C18.328403814697264,9.134915087890626,19.000003814697266,9.806495087890625,19.000003814697266,10.634915087890626C19.000003814697266,11.463345087890625,18.328403814697264,12.134915087890626,17.500003814697266,12.134915087890626C17.239503814697265,12.134915087890626,16.994503814697268,12.068495087890625,16.781003814697264,11.951675087890624L13.654703814697266,15.677415087890624C13.870303814697266,15.937215087890625,14.000003814697266,16.270915087890625,14.000003814697266,16.634915087890626C14.000003814697266,17.463315087890624,13.328403814697266,18.134915087890626,12.500003814697266,18.134915087890626C11.671573814697265,18.134915087890626,11.000003814697266,17.463315087890624,11.000003814697266,16.634915087890626C11.000003814697266,16.284415087890626,11.120193814697265,15.962015087890626,11.321603814697266,15.706715087890625L8.715393814697265,12.119565087890624C8.645053814697267,12.129685087890625,8.573143814697266,12.134915087890626,8.500003814697266,12.134915087890626C8.162103814697264,12.134915087890626,7.8503038146972655,12.023195087890626,7.599523814697266,11.834665087890626L4.505583814697266,15.521915087890624C4.809213814697266,15.796415087890624,5.000003814697266,16.193415087890624,5.000003814697266,16.634915087890626C5.000003814697266,17.463315087890624,4.328433814697266,18.134915087890626,3.5000038146972656,18.134915087890626C2.6715768146972656,18.134915087890626,2.0000038146972656,17.463315087890624,2.0000038146972656,16.634915087890626C2.0000038146972656,15.806515087890626,2.6715768146972656,15.134915087890626,3.5000038146972656,15.134915087890626C3.508253814697266,15.134915087890626,3.5164838146972657,15.135015087890626,3.524703814697266,15.135115087890625L7.033823814697266,10.953115087890625C7.011673814697265,10.850565087890626,7.000003814697266,10.744105087890624,7.000003814697266,10.634915087890626C7.000003814697266,9.806495087890625,7.671573814697266,9.134915087890626,8.500003814697266,9.134915087890626C9.328433814697267,9.134915087890626,10.000003814697266,9.806495087890625,10.000003814697266,10.634915087890626Z" stroke-opacity="0" stroke="none"></path></svg>')
      , ep = ()=>qd.cloneNode(!0)
      , tp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M8.13444,7.494615087890625L8.76432,7.494615087890625L8.76432,3.414215087890625L8.310220000000001,3.414215087890625L7.2946,4.005035087890625L7.28971,4.634915087890625L8.13444,4.149892087890625L8.13444,7.494615087890625ZM18.832,6.929835087890625Q19.0046,6.635245087890625,19.0046,6.2543850878906255Q19.0046,5.889805087890625,18.8451,5.5952050878906245Q18.6855,5.3006050878906255,18.3975,5.132965087890625Q18.1094,4.9653250878906245,17.7399,4.9653250878906245Q17.435499999999998,4.9653250878906245,17.1556,5.149245087890625L17.2793,3.939931087890625L18.8304,3.939931087890625L18.8304,3.414215087890625L16.7406,3.414215087890625L16.5094,5.665195087890625L17.0156,5.795405087890625Q17.095399999999998,5.655425087890626,17.2516,5.570795087890625Q17.4095,5.484525087890625,17.6357,5.484525087890625Q17.9694,5.484525087890625,18.1842,5.697745087890625Q18.4007,5.909335087890625,18.4007,6.2543850878906255Q18.4007,6.604315087890625,18.1842,6.822415087890625Q17.9694,7.0405150878906255,17.6292,7.0405150878906255Q17.3298,7.0405150878906255,17.119799999999998,6.890775087890625Q16.9098,6.739415087890626,16.825200000000002,6.474115087890625L16.3597,6.749175087890626Q16.470399999999998,7.110505087890624,16.807299999999998,7.335115087890625Q17.144199999999998,7.559725087890625,17.6292,7.559725087890625Q18.0296,7.559725087890625,18.3438,7.392075087890625Q18.6595,7.224435087890625,18.832,6.929835087890625ZM10,10.634915087890626C10,11.024655087890626,9.85136,11.379685087890625,9.60768,11.646395087890625L12.1689,15.171615087890626C12.2754,15.147615087890625,12.3862,15.134915087890626,12.5,15.134915087890626C12.5965,15.134915087890626,12.6908,15.144015087890624,12.7823,15.161415087890624L16.108800000000002,11.196955087890625C16.0387,11.023375087890624,16,10.833655087890625,16,10.634915087890626C16,9.806495087890625,16.671599999999998,9.134915087890626,17.5,9.134915087890626C18.3284,9.134915087890626,19,9.806495087890625,19,10.634915087890626C19,11.463345087890625,18.3284,12.134915087890626,17.5,12.134915087890626C17.2395,12.134915087890626,16.994500000000002,12.068505087890625,16.781,11.951675087890624L13.6547,15.677415087890624C13.8703,15.937215087890625,14,16.270915087890625,14,16.634915087890626C14,17.463315087890624,13.3284,18.134915087890626,12.5,18.134915087890626C11.67157,18.134915087890626,11,17.463315087890624,11,16.634915087890626C11,16.284415087890626,11.12019,15.962015087890626,11.3216,15.706715087890625L8.71539,12.119565087890624C8.645050000000001,12.129685087890625,8.57314,12.134915087890626,8.5,12.134915087890626C8.162099999999999,12.134915087890626,7.8503,12.023195087890626,7.59952,11.834665087890626L4.50558,15.521915087890624C4.80921,15.796415087890624,5,16.193415087890624,5,16.634915087890626C5,17.463315087890624,4.32843,18.134915087890626,3.5,18.134915087890626C2.671573,18.134915087890626,2,17.463315087890624,2,16.634915087890626C2,15.806515087890626,2.671573,15.134915087890626,3.5,15.134915087890626C3.5082500000000003,15.134915087890626,3.51648,15.135015087890626,3.5247,15.135115087890625L7.03382,10.953115087890625C7.01167,10.850565087890626,7,10.744105087890624,7,10.634915087890626C7,9.806495087890625,7.67157,9.134915087890626,8.5,9.134915087890626C9.32843,9.134915087890626,10,9.806495087890625,10,10.634915087890626Z" stroke-opacity="0" stroke="none"></path></svg>')
      , np = ()=>tp.cloneNode(!0)
      , ip = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M18.8532,7.020985087890625Q19.0257,6.734525087890625,19.0257,6.369945087890625Q19.0257,6.020005087890625,18.8499,5.754705087890625Q18.6758,5.489415087890626,18.3649,5.339675087890625Q18.5944,5.209465087890625,18.7214,4.994615087890625Q18.8499,4.779775087890625,18.8499,4.5193550878906255Q18.8499,4.2003480878906245,18.7002,3.951324087890625Q18.5505,3.700673087890625,18.277,3.557444087890625Q18.0052,3.414215087890625,17.6455,3.414215087890625Q17.285800000000002,3.414215087890625,17.0107,3.557444087890625Q16.7357,3.700673087890625,16.5843,3.951324087890625Q16.4346,4.2003480878906245,16.4346,4.5193550878906255Q16.4346,4.779775087890625,16.561500000000002,4.994615087890625Q16.6901,5.209465087890625,16.919600000000003,5.339675087890625Q16.6055,5.489415087890626,16.4297,5.757965087890625Q16.255499999999998,6.024895087890625,16.255499999999998,6.369945087890625Q16.255499999999998,6.734525087890625,16.4297,7.020985087890625Q16.6055,7.305815087890625,16.919600000000003,7.465325087890625Q17.2354,7.624825087890625,17.6455,7.624825087890625Q18.0557,7.624825087890625,18.3682,7.465325087890625Q18.6807,7.305815087890625,18.8532,7.020985087890625ZM8.76432,7.559725087890625L8.13444,7.559725087890625L8.13444,4.214996087890625L7.28971,4.700025087890625L7.2946,4.070139087890625L8.310220000000001,3.479319087890625L8.76432,3.479319087890625L8.76432,7.559725087890625ZM17.1816,4.955555087890625Q17.0042,4.784655087890625,17.0042,4.5095950878906255Q17.0042,4.229645087890625,17.18,4.057119087890625Q17.355800000000002,3.884592087890625,17.6455,3.884592087890625Q17.935200000000002,3.884592087890625,18.1077,4.057119087890625Q18.2803,4.229645087890625,18.2803,4.5095950878906255Q18.2803,4.784655087890625,18.1045,4.955555087890625Q17.930300000000003,5.124825087890625,17.6455,5.124825087890625Q17.3607,5.124825087890625,17.1816,4.955555087890625ZM18.2217,5.7953950878906255Q18.4398,6.005365087890625,18.4398,6.3552950878906245Q18.4398,6.705235087890625,18.2217,6.915195087890625Q18.0052,7.125155087890625,17.6455,7.125155087890625Q17.285800000000002,7.125155087890625,17.067700000000002,6.915195087890625Q16.849600000000002,6.705235087890625,16.849600000000002,6.3552950878906245Q16.849600000000002,6.005365087890625,17.064500000000002,5.7953950878906255Q17.2793,5.585435087890625,17.6455,5.585435087890625Q18.0052,5.585435087890625,18.2217,5.7953950878906255ZM9.60768,11.711495087890626C9.85136,11.444785087890626,10,11.089765087890626,10,10.700025087890625C10,9.871595087890626,9.32843,9.200025087890625,8.5,9.200025087890625C7.67157,9.200025087890625,7,9.871595087890626,7,10.700025087890625C7,10.809205087890625,7.01167,10.915665087890625,7.03382,11.018215087890624L3.5247,15.200215087890625C3.51648,15.200115087890625,3.5082500000000003,15.200015087890625,3.5,15.200015087890625C2.671573,15.200015087890625,2,15.871615087890625,2,16.700015087890627C2,17.528415087890625,2.671573,18.200015087890627,3.5,18.200015087890627C4.32843,18.200015087890627,5,17.528415087890625,5,16.700015087890627C5,16.258515087890625,4.80921,15.861515087890625,4.50558,15.587015087890626L7.59952,11.899765087890625C7.8503,12.088295087890625,8.162099999999999,12.200025087890625,8.5,12.200025087890625C8.57314,12.200025087890625,8.645050000000001,12.194785087890626,8.71539,12.184675087890625L11.3216,15.771815087890625C11.12019,16.027215087890625,11,16.349515087890623,11,16.700015087890627C11,17.528415087890625,11.67157,18.200015087890627,12.5,18.200015087890627C13.3284,18.200015087890627,14,17.528415087890625,14,16.700015087890627C14,16.336015087890623,13.8703,16.002315087890626,13.6547,15.742515087890625L16.781,12.016775087890625C16.994500000000002,12.133605087890626,17.2395,12.200025087890625,17.5,12.200025087890625C18.3284,12.200025087890625,19,11.528445087890624,19,10.700025087890625C19,9.871595087890626,18.3284,9.200025087890625,17.5,9.200025087890625C16.671599999999998,9.200025087890625,16,9.871595087890626,16,10.700025087890625C16,10.898765087890624,16.0387,11.088475087890625,16.108800000000002,11.262055087890625L12.7823,15.226515087890625C12.6908,15.209115087890625,12.5965,15.200015087890625,12.5,15.200015087890625C12.3862,15.200015087890625,12.2754,15.212715087890626,12.1689,15.236715087890625L9.60768,11.711495087890626Z" stroke-opacity="0" stroke="none"></path></svg>')
      , op = ()=>ip.cloneNode(!0)
      , rp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M9.474616630859375,7.494615087890625L8.844736630859375,7.494615087890625L8.844736630859375,4.149892087890625L8.000006630859374,4.634915087890625L8.004896630859374,4.005035087890625L9.020516630859376,3.414215087890625L9.474616630859375,3.414215087890625L9.474616630859375,7.494615087890625ZM18.529296630859378,4.8318550878906255Q18.307996630859375,5.028795087890625,18.122396630859377,5.385245087890625Q17.868496630859376,5.019035087890625,17.629196630859376,4.8269750878906255Q17.389996630859375,4.634915087890625,17.168596630859376,4.634915087890625Q16.794296630859375,4.634915087890625,16.522496630859376,4.976715087890625Q16.252296630859377,5.3168850878906255,16.252296630859377,5.7856350878906255Q16.252296630859377,6.218575087890625,16.502896630859375,6.521315087890625Q16.755196630859373,6.822415087890625,17.114896630859377,6.822415087890625Q17.368796630859375,6.822415087890625,17.588596630859374,6.625475087890624Q17.809896630859377,6.428535087890625,17.998696630859374,6.0688350878906245Q18.249396630859373,6.439935087890625,18.488596630859377,6.631985087890625Q18.727896630859377,6.822415087890625,18.952496630859375,6.822415087890625Q19.326796630859373,6.822415087890625,19.596996630859376,6.482245087890625Q19.868796630859375,6.140455087890626,19.868796630859375,5.671705087890626Q19.868796630859375,5.238755087890625,19.618196630859376,4.937655087890625Q19.367496630859375,4.634915087890625,19.006196630859375,4.634915087890625Q18.750696630859377,4.634915087890625,18.529296630859378,4.8318550878906255ZM18.337296630859377,5.674955087890625L18.278696630859375,5.596835087890625Q18.449596630859375,5.272935087890625,18.622096630859374,5.1101750878906245Q18.794596630859374,4.947415087890625,18.967096630859373,4.947415087890625Q19.194996630859375,4.947415087890625,19.346396630859374,5.1345950878906255Q19.497696630859377,5.320135087890625,19.497696630859377,5.598455087890625Q19.497696630859377,5.8914250878906245,19.360996630859376,6.096505087890625Q19.224296630859374,6.301585087890626,19.027396630859375,6.301585087890626Q18.915096630859374,6.301585087890626,18.742496630859375,6.146965087890624Q18.569996630859375,5.992335087890625,18.337296630859377,5.674955087890625ZM17.785496630859377,5.779125087890625L17.842496630859372,5.857245087890625Q17.668296630859373,6.186025087890625,17.495796630859374,6.348785087890625Q17.324896630859374,6.509915087890625,17.153996630859375,6.509915087890625Q16.926096630859377,6.509915087890625,16.774796630859377,6.324375087890624Q16.623396630859375,6.137195087890625,16.623396630859375,5.858875087890625Q16.623396630859375,5.565905087890625,16.761696630859376,5.360825087890625Q16.900096630859373,5.1557550878906255,17.095396630859376,5.1557550878906255Q17.228896630859374,5.1557550878906255,17.365596630859375,5.2778250878906245Q17.502296630859377,5.399895087890625,17.785496630859377,5.779125087890625ZM10.710296630859375,10.634915087890626C10.710296630859375,11.024655087890626,10.561656630859375,11.379685087890625,10.317976630859375,11.646395087890625L12.879196630859376,15.171615087890626C12.985696630859374,15.147615087890625,13.096496630859376,15.134915087890626,13.210296630859375,15.134915087890626C13.306796630859376,15.134915087890626,13.401096630859374,15.144015087890624,13.492596630859374,15.161415087890624L16.819096630859377,11.196955087890625C16.748996630859374,11.023375087890624,16.710296630859375,10.833655087890625,16.710296630859375,10.634915087890626C16.710296630859375,9.806495087890625,17.381896630859373,9.134915087890626,18.210296630859375,9.134915087890626C19.038696630859373,9.134915087890626,19.710296630859375,9.806495087890625,19.710296630859375,10.634915087890626C19.710296630859375,11.463345087890625,19.038696630859373,12.134915087890626,18.210296630859375,12.134915087890626C17.949796630859375,12.134915087890626,17.704796630859377,12.068505087890625,17.491296630859374,11.951675087890624L14.364996630859375,15.677415087890624C14.580596630859375,15.937215087890625,14.710296630859375,16.270915087890625,14.710296630859375,16.634915087890626C14.710296630859375,17.463315087890624,14.038696630859375,18.134915087890626,13.210296630859375,18.134915087890626C12.381866630859374,18.134915087890626,11.710296630859375,17.463315087890624,11.710296630859375,16.634915087890626C11.710296630859375,16.284415087890626,11.830486630859374,15.962015087890626,12.031896630859375,15.706715087890625L9.425686630859374,12.119565087890624C9.355346630859376,12.129685087890625,9.283436630859375,12.134915087890626,9.210296630859375,12.134915087890626C8.872396630859374,12.134915087890626,8.560596630859376,12.023195087890626,8.309816630859375,11.834665087890626L5.215876630859375,15.521915087890624C5.519506630859375,15.796415087890624,5.710296630859375,16.193415087890624,5.710296630859375,16.634915087890626C5.710296630859375,17.463315087890624,5.038726630859375,18.134915087890626,4.210296630859375,18.134915087890626C3.381869630859375,18.134915087890626,2.710296630859375,17.463315087890624,2.710296630859375,16.634915087890626C2.710296630859375,15.806515087890626,3.381869630859375,15.134915087890626,4.210296630859375,15.134915087890626C4.218546630859375,15.134915087890626,4.226776630859375,15.135015087890626,4.234996630859375,15.135115087890625L7.744116630859375,10.953115087890625C7.721966630859375,10.850565087890626,7.710296630859375,10.744105087890624,7.710296630859375,10.634915087890626C7.710296630859375,9.806495087890625,8.381866630859374,9.134915087890626,9.210296630859375,9.134915087890626C10.038726630859376,9.134915087890626,10.710296630859375,9.806495087890625,10.710296630859375,10.634915087890626Z" stroke-opacity="0" stroke="none"></path></svg>')
      , ap = ()=>rp.cloneNode(!0)
      , sp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M21,5.5C21,6.32843,20.3284,7,19.5,7C19.4136,7,19.3289,6.99269,19.2465,6.97866L15.6257,15.5086C15.8587,15.7729,16,16.119999999999997,16,16.5C16,17.328400000000002,15.3284,18,14.5,18C13.8469,18,13.2913,17.5826,13.0854,17L3.91465,17C3.70873,17.5826,3.15311,18,2.5,18C1.671573,18,1,17.328400000000002,1,16.5C1,15.6716,1.671573,15,2.5,15C2.5840199999999998,15,2.66643,15.0069,2.74668,15.0202L6.36934,6.48574C6.13933,6.22213,6,5.87733,6,5.5C6,4.671573,6.67157,4,7.5,4C8.15311,4,8.70873,4.417404,8.91465,5L18.0854,5C18.2913,4.417404,18.8469,4,19.5,4C20.3284,4,21,4.671573,21,5.5ZM18.0854,6L8.91465,6C8.892579999999999,6.06243,8.8665,6.12296,8.83672,6.18128L13.9814,15.0921C14.143,15.0325,14.3177,15,14.5,15C14.584,15,14.6664,15.0069,14.7467,15.0202L18.3693,6.48574C18.2462,6.3446,18.149,6.1802,18.0854,6ZM13.2036,15.745L8.0861,6.8811800000000005C7.90605,6.95768,7.70797,7,7.5,7C7.41359,7,7.32888,6.99269,7.24647,6.97866L3.62571,15.5086C3.7512,15.651,3.8501,15.8174,3.91465,16L13.0854,16C13.1169,15.9108,13.1566,15.8255,13.2036,15.745Z" stroke-opacity="0" stroke="none"></path></svg>')
      , lp = ()=>sp.cloneNode(!0)
      , cp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M5.92159,5.93994C6.04014,5.90529,6.152620000000001,5.85639,6.25704,5.79523L9.12729,9.89437C9.045449999999999,10.07959,9,10.28449,9,10.5C9,10.79522,9.08529,11.07053,9.232569999999999,11.30262L4.97573,16.7511L5.92159,5.93994ZM4.92259,5.8848400000000005C4.38078,5.658659999999999,4,5.1238,4,4.5C4,3.671573,4.67157,3,5.5,3C6.2157,3,6.81433,3.50124,6.96399,4.17183L15.1309,4.88634C15.3654,4.36387,15.8902,4,16.5,4C17.328400000000002,4,18,4.67157,18,5.5C18,6.08983,17.659599999999998,6.60015,17.1645,6.84518L18.4264,14.0018C18.4508,14.0006,18.4753,14,18.5,14C19.3284,14,20,14.6716,20,15.5C20,16.328400000000002,19.3284,17,18.5,17C17.932499999999997,17,17.4386,16.6849,17.183799999999998,16.22L5.99686,18.5979C5.946429999999999,19.3807,5.29554,20,4.5,20C3.671573,20,3,19.3284,3,18.5C3,17.869300000000003,3.389292,17.3295,3.94071,17.1077L4.92259,5.8848400000000005ZM5.72452,17.6334C5.69799,17.596,5.6698,17.5599,5.64004,17.525100000000002L10.01843,11.92103C10.16958,11.97223,10.33155,12,10.5,12C10.80059,12,11.08052,11.91158,11.31522,11.75934L17.0606,15.0765C17.0457,15.1271,17.0335,15.1789,17.023899999999998,15.2317L5.72452,17.6334ZM11.92855,10.95875L17.4349,14.1379L16.1699,6.96356C15.9874,6.92257,15.8174,6.8483,15.6667,6.74746L11.99771,10.4165C11.99923,10.44414,12,10.47198,12,10.5C12,10.66,11.97495,10.814160000000001,11.92855,10.95875ZM10.5,9C10.259830000000001,9,10.03285,9.05644,9.83159,9.15679L7.04919,5.1831L15.0493,5.88302C15.054,5.90072,15.059,5.91829,15.0643,5.9357299999999995L11.56066,9.43934C11.28921,9.16789,10.91421,9,10.5,9Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , up = ()=>cp.cloneNode(!0)
      , hp = Y('<svg viewBox="0 0 22 22"><path d="M4.727219638671875,8.007996215820313L9.973849638671876,2.7629472158203123C10.167279638671875,2.5696791158203123,10.480729638671875,2.5696791158203123,10.674169638671875,2.7629472158203123L13.223329638671874,5.311756215820313C13.416929638671874,5.505236215820313,13.416929638671874,5.8189862158203125,13.223329638671874,6.012466215820313L7.977129638671875,11.257906215820313C7.379859638671875,11.855176215820313,7.407609638671875,12.909396215820312,8.033809638671876,13.535596215820313C8.660409638671876,14.162596215820313,9.713849638671874,14.189996215820312,10.311129638671876,13.591896215820313L15.556929638671875,8.346066215820311C15.750429638671875,8.152526215820313,16.064229638671875,8.152526215820313,16.257629638671872,8.346066215820311L18.806529638671876,10.895266215820312C19.000029638671876,11.088746215820313,19.000029638671876,11.402496215820312,18.806529638671876,11.595976215820313L13.560629638671875,16.841796215820313C11.165619638671876,19.237196215820312,7.197149638671875,19.19919621582031,4.783499638671875,16.785496215820313C2.3698426386718747,14.371896215820312,2.331397638671875,10.403416215820313,4.727219638671875,8.007996215820313ZM12.172299638671875,5.662106215820312L10.323809638671875,3.8136162158203124L5.4287196386718755,8.709096215820313C3.422893638671875,10.714536215820312,3.4549956386718748,14.055196215820313,5.484999638671875,16.08479621582031C7.514609638671875,18.114796215820313,10.855289638671875,18.146496215820314,12.860719638671876,16.141096215820312L15.465629638671874,13.535796215820312L14.090929638671875,12.160756215820312L14.791629638671875,11.460436215820312L16.166229638671876,12.834996215820313L17.755829638671877,11.245226215820313L15.907729638671874,9.396736215820312L11.011839638671875,14.292596215820312C10.042809638671875,15.262396215820312,8.418249638671874,15.243796215820312,7.406019638671875,14.306496215820312L7.333099638671875,14.236296215820312C6.327599638671876,13.230796215820313,6.284009638671876,11.550396215820312,7.276419638671875,10.557586215820312L9.882199638671874,7.952026215820313L8.501079638671875,6.570906215820313L9.201789638671876,5.870186215820313L10.582939638671874,7.251336215820312L12.172299638671875,5.662106215820312Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , dp = n=>(()=>{
        const l = hp.cloneNode(!0);
        return He(l, "class", `icon-overlay ${n ?? ""}`),
        l
    }
    )()
      , pp = Y('<svg viewBox="0 0 22 22"><defs><clipPath id="master_svg0_151_615"><rect x="0" y="0" width="22" height="22" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_151_615)"><path d="M19.672,3.0673368C19.4417,2.9354008,19.1463,3.00292252,18.9994,3.2210900000000002L17.4588,5.50622L16.743299999999998,3.781253L13.9915,7.4662L13.9618,7.51108C13.8339,7.72862,13.8936,8.005659999999999,14.1004,8.15391L14.1462,8.183430000000001C14.3683,8.308720000000001,14.6511,8.25001,14.8022,8.047229999999999L16.4907,5.78571L17.246299999999998,7.60713L19.8374,3.7635389999999997L19.8651,3.717088C19.9871,3.484615,19.9023,3.199273,19.672,3.0673368ZM4.79974,8.462530000000001L10.117740000000001,3.252975C10.31381,3.0610145,10.63152,3.0610145,10.82759,3.252975L13.4115,5.78453C13.6076,5.976710000000001,13.6076,6.28833,13.4115,6.4805L8.093869999999999,11.69045C7.48847,12.28368,7.51659,13.3308,8.151309999999999,13.9528C8.786439999999999,14.5755,9.85421,14.6027,10.45961,14.0087L15.7768,8.79831C15.9729,8.60609,16.2909,8.60609,16.487099999999998,8.79831L19.0705,11.33026C19.2667,11.52244,19.2667,11.83406,19.0705,12.02623L13.7533,17.2366C11.32572,19.6158,7.30328,19.578,4.85679,17.1807C2.410298,14.7834,2.371331,10.84174,4.79974,8.462530000000001ZM12.3461,6.1325199999999995L10.47246,4.29654L5.51079,9.15889C3.477674,11.15076,3.510214,14.4688,5.56784,16.4847C7.62506,18.500999999999998,11.01117,18.5325,13.0439,16.540599999999998L15.6842,13.9529L14.2908,12.58718L15.0011,11.89161L16.394399999999997,13.2569L18.0056,11.67786L16.1323,9.84188L11.16985,14.7046C10.18764,15.6679,8.540980000000001,15.6494,7.51498,14.7184L7.44107,14.6487C6.4219,13.65,6.37771,11.98096,7.38362,10.994869999999999L10.02485,8.40693L8.624939999999999,7.03516L9.335180000000001,6.33919L10.73512,7.71099L12.3461,6.1325199999999995Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></g></svg>')
      , gp = n=>(()=>{
        const l = pp.cloneNode(!0);
        return He(l, "class", `icon-overlay ${n ?? ""}`),
        l
    }
    )()
      , vp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M11,17C5.80945,17,3.667717,12.85,3.113386,11.575C2.9622047,11.2,2.9622047,10.8,3.113386,10.425C3.667717,9.15,5.80945,5,11,5C16.165399999999998,5,18.3323,9.15,18.8866,10.425C19.0378,10.8,19.0378,11.2,18.8866,11.575C18.3323,12.85,16.165399999999998,17,11,17ZM4.04567,10.8C3.995276,10.925,3.995276,11.05,4.04567,11.175C4.52441,12.325,6.43937,16,11,16C15.5606,16,17.4756,12.325,17.9543,11.2C18.0047,11.075,18.0047,10.95,17.9543,10.825C17.4756,9.675,15.5606,6,11,6C6.43937,6,4.52441,9.675,4.04567,10.8ZM11,13.5C9.61417,13.5,8.480319999999999,12.375,8.480319999999999,11C8.480319999999999,9.625,9.61417,8.5,11,8.5C12.38583,8.5,13.5197,9.625,13.5197,11C13.5197,12.375,12.38583,13.5,11,13.5ZM11,9.5C10.1685,9.5,9.48819,10.175,9.48819,11C9.48819,11.825,10.1685,12.5,11,12.5C11.8315,12.5,12.51181,11.825,12.51181,11C12.51181,10.175,11.8315,9.5,11,9.5Z" stroke-opacity="0" fill-opacity="1"></path></svg>')
      , fp = ()=>vp.cloneNode(!0)
      , yp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M5.80417,14.9887L4.62563,16.167299999999997C4.43037,16.3625,4.43037,16.6791,4.62563,16.8744C4.82089,17.0696,5.13748,17.0696,5.332739999999999,16.8744L6.62638,15.5807C7.75595,16.290100000000002,9.19328,16.7929,11,16.7929C16.165399999999998,16.7929,18.3323,12.64289,18.8866,11.36789C19.0378,10.99289,19.0378,10.59289,18.8866,10.21789C18.5549,9.45486,17.6456,7.66212,15.8617,6.34545L17.3536,4.853553C17.5488,4.658291,17.5488,4.341709,17.3536,4.146447C17.1583,3.9511845,16.8417,3.9511845,16.6464,4.146447L15.0014,5.7915399999999995C13.9314,5.1969,12.61166,4.792893,11,4.792893C5.80945,4.792893,3.667717,8.94289,3.113386,10.21789C2.9622049,10.59289,2.9622049,10.99289,3.113386,11.36789C3.424435,12.08333,4.2353000000000005,13.70399,5.80417,14.9887ZM7.36012,14.847C8.32327,15.4074,9.52286,15.7929,11,15.7929C15.5606,15.7929,17.4756,12.11789,17.9543,10.99289C18.0047,10.86789,18.0047,10.74289,17.9543,10.61789C17.659,9.90846,16.8171,8.23812,15.1447,7.06241L12.96929,9.23782C13.3134,9.66543,13.5197,10.20642,13.5197,10.79289C13.5197,12.16789,12.38583,13.29289,11,13.29289C10.41596,13.29289,9.87667,13.09308,9.44815,12.75896L7.36012,14.847ZM8.794609999999999,11.99829L6.520099999999999,14.2728C5.06905,13.12119,4.32057,11.628250000000001,4.04567,10.96789C3.995275,10.84289,3.995275,10.71789,4.04567,10.59289C4.52441,9.46789,6.43937,5.79289,11,5.79289C12.28868,5.79289,13.3661,6.086320000000001,14.2596,6.53329L12.19759,8.5953C11.84086,8.40257,11.43271,8.29289,11,8.29289C9.61417,8.29289,8.480319999999999,9.41789,8.480319999999999,10.79289C8.480319999999999,11.22918,8.594470000000001,11.64029,8.794609999999999,11.99829ZM10.16528,12.04183C10.404869999999999,12.20032,10.692070000000001,12.29289,11,12.29289C11.8315,12.29289,12.51181,11.61789,12.51181,10.79289C12.51181,10.48318,12.41593,10.194600000000001,12.25216,9.95494L10.16528,12.04183ZM11.43602,9.35687L9.55616,11.236740000000001C9.512,11.09633,9.48819,10.94724,9.48819,10.79289C9.48819,9.96789,10.1685,9.29289,11,9.29289C11.15142,9.29289,11.29782,9.31528,11.43602,9.35687Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></svg>')
      , mp = ()=>yp.cloneNode(!0)
      , Cp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><defs><clipPath id="master_svg0_151_625"><rect x="0" y="0" width="22" height="22" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_151_625)"><path d="M14.5385,9.76923L15.6538,9.76923C16.6538,9.76923,17.4615,10.576920000000001,17.4615,11.576920000000001L17.4615,17.1923C17.4615,18.1923,16.6538,19,15.6538,19L5.80769,19C4.807692,19,4,18.1923,4,17.1923L4,11.576920000000001C4,10.576920000000001,4.807692,9.76923,5.80769,9.76923L7.23077,9.76923L7.23077,7.576919999999999C7.23077,5.61538,8.88462,4,10.88462,4C12.88462,4,14.5385,5.61538,14.5385,7.576919999999999L14.5385,9.76923ZM10.88461,5.15385C9.5,5.15385,8.38461,6.23077,8.38461,7.576919999999999L8.38461,9.76923L13.38462,9.76923L13.38462,7.576919999999999C13.38462,6.23077,12.26923,5.15385,10.88461,5.15385ZM15.6538,17.8462C16,17.8462,16.3077,17.5385,16.3077,17.1923L16.3077,11.576920000000001C16.3077,11.23077,16,10.923079999999999,15.6538,10.923079999999999L5.80769,10.923079999999999C5.46154,10.923079999999999,5.15385,11.23077,5.15385,11.576920000000001L5.15385,17.1923C5.15385,17.5385,5.46154,17.8462,5.80769,17.8462L15.6538,17.8462ZM10.153839999999999,12.65385C10.153839999999999,12.34615,10.42307,12.07692,10.73076,12.07692C11.038450000000001,12.07692,11.307680000000001,12.34615,11.307680000000001,12.65385L11.307680000000001,14.5769C11.307680000000001,14.8846,11.038450000000001,15.1538,10.73076,15.1538C10.42307,15.1538,10.153839999999999,14.8846,10.153839999999999,14.5769L10.153839999999999,12.65385Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></g></svg>')
      , xp = ()=>Cp.cloneNode(!0)
      , _p = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><defs><clipPath id="master_svg0_151_620"><rect x="0" y="0" width="22" height="22" rx="0"></rect></clipPath></defs><g clip-path="url(#master_svg0_151_620)"><path d="M8.38461,9.76923L15.6538,9.76923C16.6538,9.76923,17.4615,10.576920000000001,17.4615,11.576920000000001L17.4615,17.1923C17.4615,18.1923,16.6538,19,15.6538,19L5.80769,19C4.807692,19,4,18.1923,4,17.1923L4,11.576920000000001C4,10.576920000000001,4.807693,9.76923,5.80769,9.76923L7.23077,9.76923L7.23077,7.576919999999999C7.23077,5.61538,8.88462,4,10.88462,4C12.46154,4,13.84615,4.961539,14.3462,6.423080000000001C14.4615,6.73077,14.3077,7.038460000000001,14,7.15385C13.69231,7.26923,13.38461,7.11538,13.26923,6.80769C12.92308,5.80769,11.96154,5.15385,10.88462,5.15385C9.5,5.15385,8.38461,6.23077,8.38461,7.576919999999999L8.38461,9.76923ZM15.6538,17.8462C16,17.8462,16.3077,17.5385,16.3077,17.1923L16.3077,11.576920000000001C16.3077,11.23077,16,10.923079999999999,15.6538,10.923079999999999L5.80769,10.923079999999999C5.46154,10.923079999999999,5.15385,11.23077,5.15385,11.576920000000001L5.15385,17.1923C5.15385,17.5385,5.46154,17.8462,5.80769,17.8462L15.6538,17.8462ZM10.153839999999999,12.65385C10.153839999999999,12.34615,10.42307,12.07692,10.73076,12.07692C11.03846,12.07692,11.307690000000001,12.34615,11.307690000000001,12.65385L11.307690000000001,14.5769C11.307690000000001,14.8846,11.03846,15.1538,10.73076,15.1538C10.42307,15.1538,10.153839999999999,14.8846,10.153839999999999,14.5769L10.153839999999999,12.65385Z" stroke-opacity="0" fill-rule="evenodd" fill-opacity="1"></path></g></svg>')
      , bp = ()=>_p.cloneNode(!0)
      , wp = Y('<svg class="icon-overlay" viewBox="0 0 22 22"><path d="M16.966900000000003,8.67144C16.6669,8.67144,16.4247,8.91558,16.4247,9.21802L16.4247,16.631500000000003C16.4247,17.322,16.007199999999997,17.9068,15.5139,17.9068L13.93072,17.9068L13.93072,9.2162C13.93072,8.91741,13.68675,8.67144,13.38855,8.67144C13.09036,8.67144,12.84639,8.91741,12.84639,9.21802L12.84639,17.9068L10.151810000000001,17.9068L10.151810000000001,9.21802C10.151810000000001,8.91741,9.90783,8.67144,9.609639999999999,8.67144C9.31145,8.67144,9.06747,8.91741,9.06747,9.219850000000001L9.06747,17.9068L7.48614,17.9068C6.99277,17.9068,6.5753,17.322,6.5753,16.631500000000003L6.5753,9.21802C6.5753,8.91558,6.333130000000001,8.67144,6.03313,8.67144C5.73313,8.67144,5.49096,8.91558,5.49096,9.21802L5.49096,16.631500000000003C5.49096,17.9378,6.385540000000001,19,7.48614,19L15.512,19C16.6127,19,17.509,17.9378,17.509,16.631500000000003L17.509,9.21802C17.509,8.91558,17.2669,8.67144,16.966900000000003,8.67144ZM18.4578,6.21183L4.542169,6.21183C4.243976,6.21183,4,6.45779,4,6.75841C4,7.05903,4.243976,7.30499,4.542169,7.30499L18.4578,7.30499C18.756,7.30499,19,7.05903,19,6.75841C19,6.45779,18.756,6.21183,18.4578,6.21183ZM8.68072,5.10045L14.3193,5.10045C14.6175,5.10045,14.8614,4.852666,14.8614,4.550225C14.8614,4.247783,14.6175,4,14.3193,4L8.68072,4C8.38253,4,8.13855,4.247783,8.13855,4.550225C8.13855,4.852666,8.38253,5.10045,8.68072,5.10045Z" stroke-opacity="0" fill-opacity="1"></path></svg>')
      , Sp = ()=>wp.cloneNode(!0)
      , Lp = {
        horizontalStraightLine: ad,
        horizontalRayLine: ld,
        horizontalSegment: ud,
        verticalStraightLine: dd,
        verticalRayLine: gd,
        verticalSegment: fd,
        straightLine: md,
        rayLine: xd,
        segment: bd,
        arrow: Sd,
        priceLine: kd,
        priceChannelLine: Ad,
        parallelStraightLine: Ed,
        fibonacciLine: Dd,
        fibonacciSegment: Fd,
        fibonacciCircle: Nd,
        fibonacciSpiral: Od,
        fibonacciSpeedResistanceFan: Yd,
        fibonacciExtension: jd,
        gannBox: Qd,
        circle: Zd,
        triangle: Ud,
        rect: Gd,
        parallelogram: Jd,
        threeWaves: ep,
        fiveWaves: np,
        eightWaves: op,
        anyWaves: ap,
        abcd: lp,
        xabcd: up,
        weak_magnet: dp,
        strong_magnet: gp,
        lock: xp,
        unlock: bp,
        visible: fp,
        invisible: mp,
        remove: Sp
    };
    function kp(n) {
        return [{
            key: "horizontalStraightLine",
            text: P("horizontal_straight_line", n)
        }, {
            key: "horizontalRayLine",
            text: P("horizontal_ray_line", n)
        }, {
            key: "horizontalSegment",
            text: P("horizontal_segment", n)
        }, {
            key: "verticalStraightLine",
            text: P("vertical_straight_line", n)
        }, {
            key: "verticalRayLine",
            text: P("vertical_ray_line", n)
        }, {
            key: "verticalSegment",
            text: P("vertical_segment", n)
        }, {
            key: "straightLine",
            text: P("straight_line", n)
        }, {
            key: "rayLine",
            text: P("ray_line", n)
        }, {
            key: "segment",
            text: P("segment", n)
        }, {
            key: "arrow",
            text: P("arrow", n)
        }, {
            key: "priceLine",
            text: P("price_line", n)
        }]
    }
    function Mp(n) {
        return [{
            key: "priceChannelLine",
            text: P("price_channel_line", n)
        }, {
            key: "parallelStraightLine",
            text: P("parallel_straight_line", n)
        }]
    }
    function Ap(n) {
        return [{
            key: "circle",
            text: P("circle", n)
        }, {
            key: "rect",
            text: P("rect", n)
        }, {
            key: "parallelogram",
            text: P("parallelogram", n)
        }, {
            key: "triangle",
            text: P("triangle", n)
        }]
    }
    function Tp(n) {
        return [{
            key: "fibonacciLine",
            text: P("fibonacci_line", n)
        }, {
            key: "fibonacciSegment",
            text: P("fibonacci_segment", n)
        }, {
            key: "fibonacciCircle",
            text: P("fibonacci_circle", n)
        }, {
            key: "fibonacciSpiral",
            text: P("fibonacci_spiral", n)
        }, {
            key: "fibonacciSpeedResistanceFan",
            text: P("fibonacci_speed_resistance_fan", n)
        }, {
            key: "fibonacciExtension",
            text: P("fibonacci_extension", n)
        }, {
            key: "gannBox",
            text: P("gann_box", n)
        }]
    }
    function Ep(n) {
        return [{
            key: "xabcd",
            text: P("xabcd", n)
        }, {
            key: "abcd",
            text: P("abcd", n)
        }, {
            key: "threeWaves",
            text: P("three_waves", n)
        }, {
            key: "fiveWaves",
            text: P("five_waves", n)
        }, {
            key: "eightWaves",
            text: P("eight_waves", n)
        }, {
            key: "anyWaves",
            text: P("any_waves", n)
        }]
    }
    function Ip(n) {
        return [{
            key: "weak_magnet",
            text: P("weak_magnet", n)
        }, {
            key: "strong_magnet",
            text: P("strong_magnet", n)
        }]
    }
    const Je = n=>Lp[n.name](n.class)
      , Dp = Y('<div class="klinecharts-pro-drawing-bar"><span class="split-line"></span><div class="item" tabindex="0"><span style="width:32px;height:32px"></span><div class="icon-arrow"><svg viewBox="0 0 4 6"><path d="M1.07298,0.159458C0.827521,-0.0531526,0.429553,-0.0531526,0.184094,0.159458C-0.0613648,0.372068,-0.0613648,0.716778,0.184094,0.929388L2.61275,3.03303L0.260362,5.07061C0.0149035,5.28322,0.0149035,5.62793,0.260362,5.84054C0.505822,6.05315,0.903789,6.05315,1.14925,5.84054L3.81591,3.53075C4.01812,3.3556,4.05374,3.0908,3.92279,2.88406C3.93219,2.73496,3.87113,2.58315,3.73964,2.46925L1.07298,0.159458Z" stroke="none" stroke-opacity="0"></path></svg></div></div><div class="item"><span style="width:32px;height:32px"></span></div><div class="item"><span style="width:32px;height:32px"></span></div><span class="split-line"></span><div class="item"><span style="width:32px;height:32px"></span></div></div>')
      , Pp = Y('<div class="item" tabindex="0"><span style="width:32px;height:32px"></span><div class="icon-arrow"><svg viewBox="0 0 4 6"><path d="M1.07298,0.159458C0.827521,-0.0531526,0.429553,-0.0531526,0.184094,0.159458C-0.0613648,0.372068,-0.0613648,0.716778,0.184094,0.929388L2.61275,3.03303L0.260362,5.07061C0.0149035,5.28322,0.0149035,5.62793,0.260362,5.84054C0.505822,6.05315,0.903789,6.05315,1.14925,5.84054L3.81591,3.53075C4.01812,3.3556,4.05374,3.0908,3.92279,2.88406C3.93219,2.73496,3.87113,2.58315,3.73964,2.46925L1.07298,0.159458Z" stroke="none" stroke-opacity="0"></path></svg></div></div>')
      , vr = Y('<li><span style="padding-left:8px"></span></li>')
      , fr = "drawing_tools"
      , Fp = n=>{
        const [l,a] = ie("horizontalStraightLine")
          , [v,m] = ie("priceChannelLine")
          , [C,S] = ie("circle")
          , [b,A] = ie("fibonacciLine")
          , [T,I] = ie("xabcd")
          , [B,H] = ie("weak_magnet")
          , [Z,ce] = ie("normal")
          , [ge,ve] = ie(!1)
          , [le,de] = ie(!0)
          , [pe,re] = ie("")
          , J = Ae(()=>[{
            key: "singleLine",
            icon: l(),
            list: kp(n.locale),
            setter: a
        }, {
            key: "moreLine",
            icon: v(),
            list: Mp(n.locale),
            setter: m
        }, {
            key: "polygon",
            icon: C(),
            list: Ap(n.locale),
            setter: S
        }, {
            key: "fibonacci",
            icon: b(),
            list: Tp(n.locale),
            setter: A
        }, {
            key: "wave",
            icon: T(),
            list: Ep(n.locale),
            setter: I
        }])
          , me = Ae(()=>Ip(n.locale));
        return (()=>{
            const Le = Dp.cloneNode(!0)
              , ue = Le.firstChild
              , ae = ue.nextSibling
              , G = ae.firstChild
              , fe = G.nextSibling
              , Ce = fe.firstChild
              , ht = ae.nextSibling
              , ee = ht.firstChild
              , Ve = ht.nextSibling
              , X = Ve.firstChild
              , dt = Ve.nextSibling
              , pt = dt.nextSibling
              , tt = pt.firstChild;
            return K(Le, ()=>J().map(q=>(()=>{
                const Te = Pp.cloneNode(!0)
                  , ze = Te.firstChild
                  , nt = ze.nextSibling
                  , At = nt.firstChild;
                return Te.addEventListener("blur", ()=>{
                    re("")
                }
                ),
                ze.$$click = ()=>{
                    n.onDrawingItemClick({
                        groupId: fr,
                        name: q.icon,
                        visible: le(),
                        lock: ge(),
                        mode: Z()
                    })
                }
                ,
                K(ze, W(Je, {
                    get name() {
                        return q.icon
                    }
                })),
                nt.$$click = ()=>{
                    q.key === pe() ? re("") : re(q.key)
                }
                ,
                K(Te, (()=>{
                    const V = Ae(()=>q.key === pe());
                    return ()=>V() && W(Yn, {
                        class: "list",
                        get children() {
                            return q.list.map(R=>(()=>{
                                const j = vr.cloneNode(!0)
                                  , Q = j.firstChild;
                                return j.$$click = ()=>{
                                    q.setter(R.key),
                                    n.onDrawingItemClick({
                                        name: R.key,
                                        lock: ge(),
                                        mode: Z()
                                    }),
                                    re("")
                                }
                                ,
                                K(j, W(Je, {
                                    get name() {
                                        return R.key
                                    }
                                }), Q),
                                K(Q, ()=>R.text),
                                j
                            }
                            )())
                        }
                    })
                }
                )(), null),
                Pe(()=>He(At, "class", q.key === pe() ? "rotate" : "")),
                Te
            }
            )()), ue),
            ae.addEventListener("blur", ()=>{
                re("")
            }
            ),
            G.$$click = ()=>{
                let q = B();
                Z() !== "normal" && (q = "normal"),
                ce(q),
                n.onModeChange(q)
            }
            ,
            K(G, (()=>{
                const q = Ae(()=>B() === "weak_magnet");
                return ()=>q() ? (()=>{
                    const Te = Ae(()=>Z() === "weak_magnet");
                    return ()=>Te() ? W(Je, {
                        name: "weak_magnet",
                        class: "selected"
                    }) : W(Je, {
                        name: "weak_magnet"
                    })
                }
                )() : (()=>{
                    const Te = Ae(()=>Z() === "strong_magnet");
                    return ()=>Te() ? W(Je, {
                        name: "strong_magnet",
                        class: "selected"
                    }) : W(Je, {
                        name: "strong_magnet"
                    })
                }
                )()
            }
            )()),
            fe.$$click = ()=>{
                pe() === "mode" ? re("") : re("mode")
            }
            ,
            K(ae, (()=>{
                const q = Ae(()=>pe() === "mode");
                return ()=>q() && W(Yn, {
                    class: "list",
                    get children() {
                        return me().map(Te=>(()=>{
                            const ze = vr.cloneNode(!0)
                              , nt = ze.firstChild;
                            return ze.$$click = ()=>{
                                H(Te.key),
                                ce(Te.key),
                                n.onModeChange(Te.key),
                                re("")
                            }
                            ,
                            K(ze, W(Je, {
                                get name() {
                                    return Te.key
                                }
                            }), nt),
                            K(nt, ()=>Te.text),
                            ze
                        }
                        )())
                    }
                })
            }
            )(), null),
            ee.$$click = ()=>{
                const q = !ge();
                ve(q),
                n.onLockChange(q)
            }
            ,
            K(ee, (()=>{
                const q = Ae(()=>!!ge());
                return ()=>q() ? W(Je, {
                    name: "lock"
                }) : W(Je, {
                    name: "unlock"
                })
            }
            )()),
            X.$$click = ()=>{
                const q = !le();
                de(q),
                n.onVisibleChange(q)
            }
            ,
            K(X, (()=>{
                const q = Ae(()=>!!le());
                return ()=>q() ? W(Je, {
                    name: "visible"
                }) : W(Je, {
                    name: "invisible"
                })
            }
            )()),
            tt.$$click = ()=>{
                n.onRemoveClick(fr)
            }
            ,
            K(tt, W(Je, {
                name: "remove"
            })),
            Pe(()=>He(Ce, "class", pe() === "mode" ? "rotate" : "")),
            Le
        }
        )()
    }
    ;
    ct(["click"]);
    const yr = Y('<li class="title"></li>')
      , mr = Y('<li class="row"></li>')
      , Bp = n=>W(rn, {
        get title() {
            return P("indicator", n.locale)
        },
        width: 400,
        get onClose() {
            return n.onClose
        },
        get children() {
            return W(Yn, {
                class: "klinecharts-pro-indicator-modal-list",
                get children() {
                    return [(()=>{
                        const l = yr.cloneNode(!0);
                        return K(l, ()=>P("main_indicator", n.locale)),
                        l
                    }
                    )(), Ae(()=>["MA", "EMA", "SMA", "BOLL", "SAR", "BBI"].map(l=>{
                        const a = n.mainIndicators.includes(l);
                        return (()=>{
                            const v = mr.cloneNode(!0);
                            return v.$$click = m=>{
                                n.onMainIndicatorChange({
                                    name: l,
                                    paneId: "candle_pane",
                                    added: !a
                                })
                            }
                            ,
                            K(v, W(gr, {
                                checked: a,
                                get label() {
                                    return P(l.toLowerCase(), n.locale)
                                }
                            })),
                            v
                        }
                        )()
                    }
                    )), (()=>{
                        const l = yr.cloneNode(!0);
                        return K(l, ()=>P("sub_indicator", n.locale)),
                        l
                    }
                    )(), Ae(()=>["MA", "EMA", "VOL", "MACD", "BOLL", "KDJ", "RSI", "BIAS", "BRAR", "CCI", "DMI", "CR", "PSY", "DMA", "TRIX", "OBV", "VR", "WR", "MTM", "EMV", "SAR", "SMA", "ROC", "PVT", "BBI", "AO"].map(l=>{
                        const a = l in n.subIndicators;
                        return (()=>{
                            const v = mr.cloneNode(!0);
                            return v.$$click = m=>{
                                n.onSubIndicatorChange({
                                    name: l,
                                    paneId: n.subIndicators[l] ?? "",
                                    added: !a
                                })
                            }
                            ,
                            K(v, W(gr, {
                                checked: a,
                                get label() {
                                    return P(l.toLowerCase(), n.locale)
                                }
                            })),
                            v
                        }
                        )()
                    }
                    ))]
                }
            })
        }
    });
    ct(["click"]);
    function Cr(n, l) {
        switch (n) {
        case "Etc/UTC":
            return P("utc", l);
        case "Pacific/Honolulu":
            return P("honolulu", l);
        case "America/Juneau":
            return P("juneau", l);
        case "America/Los_Angeles":
            return P("los_angeles", l);
        case "America/Chicago":
            return P("chicago", l);
        case "America/Toronto":
            return P("toronto", l);
        case "America/Sao_Paulo":
            return P("sao_paulo", l);
        case "Europe/London":
            return P("london", l);
        case "Europe/Berlin":
            return P("berlin", l);
        case "Asia/Bahrain":
            return P("bahrain", l);
        case "Asia/Dubai":
            return P("dubai", l);
        case "Asia/Ashkhabad":
            return P("ashkhabad", l);
        case "Asia/Almaty":
            return P("almaty", l);
        case "Asia/Bangkok":
            return P("bangkok", l);
        case "Asia/Shanghai":
            return P("shanghai", l);
        case "Asia/Tokyo":
            return P("tokyo", l);
        case "Australia/Sydney":
            return P("sydney", l);
        case "Pacific/Norfolk":
            return P("norfolk", l)
        }
        return n
    }
    function Np(n) {
        return [{
            key: "Etc/UTC",
            text: P("utc", n)
        }, {
            key: "Pacific/Honolulu",
            text: P("honolulu", n)
        }, {
            key: "America/Juneau",
            text: P("juneau", n)
        }, {
            key: "America/Los_Angeles",
            text: P("los_angeles", n)
        }, {
            key: "America/Chicago",
            text: P("chicago", n)
        }, {
            key: "America/Toronto",
            text: P("toronto", n)
        }, {
            key: "America/Sao_Paulo",
            text: P("sao_paulo", n)
        }, {
            key: "Europe/London",
            text: P("london", n)
        }, {
            key: "Europe/Berlin",
            text: P("berlin", n)
        }, {
            key: "Asia/Bahrain",
            text: P("bahrain", n)
        }, {
            key: "Asia/Dubai",
            text: P("dubai", n)
        }, {
            key: "Asia/Ashkhabad",
            text: P("ashkhabad", n)
        }, {
            key: "Asia/Almaty",
            text: P("almaty", n)
        }, {
            key: "Asia/Bangkok",
            text: P("bangkok", n)
        }, {
            key: "Asia/Shanghai",
            text: P("shanghai", n)
        }, {
            key: "Asia/Tokyo",
            text: P("tokyo", n)
        }, {
            key: "Australia/Sydney",
            text: P("sydney", n)
        }, {
            key: "Pacific/Norfolk",
            text: P("norfolk", n)
        }]
    }
    const Rp = n=>{
        const [l,a] = ie(n.timezone)
          , v = Ae(()=>Np(n.locale));
        return W(rn, {
            get title() {
                return P("timezone", n.locale)
            },
            width: 320,
            get buttons() {
                return [{
                    children: P("confirm", n.locale),
                    onClick: ()=>{
                        n.onConfirm(l()),
                        n.onClose()
                    }
                }]
            },
            get onClose() {
                return n.onClose
            },
            get children() {
                return W(s1, {
                    style: {
                        width: "100%",
                        "margin-top": "20px"
                    },
                    get value() {
                        return l().text
                    },
                    onSelected: m=>{
                        a(m)
                    }
                    ,
                    get dataSource() {
                        return v()
                    }
                })
            }
        })
    }
    ;
    function xr(n) {
        return [{
            key: "candle.type",
            text: P("candle_type", n),
            component: "select",
            dataSource: [{
                key: "candle_solid",
                text: P("candle_solid", n)
            }, {
                key: "candle_stroke",
                text: P("candle_stroke", n)
            }, {
                key: "candle_up_stroke",
                text: P("candle_up_stroke", n)
            }, {
                key: "candle_down_stroke",
                text: P("candle_down_stroke", n)
            }, {
                key: "ohlc",
                text: P("ohlc", n)
            }, {
                key: "area",
                text: P("area", n)
            }]
        }, {
            key: "candle.priceMark.last.show",
            text: P("last_price_show", n),
            component: "switch"
        }, {
            key: "candle.priceMark.high.show",
            text: P("high_price_show", n),
            component: "switch"
        }, {
            key: "candle.priceMark.low.show",
            text: P("low_price_show", n),
            component: "switch"
        }, {
            key: "indicator.lastValueMark.show",
            text: P("indicator_last_value_show", n),
            component: "switch"
        }, {
            key: "yAxis.type",
            text: P("price_axis_type", n),
            component: "select",
            dataSource: [{
                key: "normal",
                text: P("normal", n)
            }, {
                key: "percentage",
                text: P("percentage", n)
            }, {
                key: "log",
                text: P("log", n)
            }]
        }, {
            key: "yAxis.reverse",
            text: P("reverse_coordinate", n),
            component: "switch"
        }, {
            key: "grid.show",
            text: P("grid_show", n),
            component: "switch"
        }]
    }
    const Op = Y('<div class="klinecharts-pro-setting-modal-content"></div>')
      , zp = Y("<span></span>")
      , Yp = n=>{
        const [l,a] = ie(n.currentStyles)
          , [v,m] = ie(xr(n.locale));
        vt(()=>{
            m(xr(n.locale))
        }
        );
        const C = (S,b)=>{
            const A = {};
            wi(A, S.key, b);
            const T = oe.utils.clone(l());
            wi(T, S.key, b),
            a(T),
            m(v().map(I=>({
                ...I
            }))),
            n.onChange(A)
        }
        ;
        return W(rn, {
            get title() {
                return P("setting", n.locale)
            },
            width: 560,
            get buttons() {
                return [{
                    children: P("restore_default", n.locale),
                    onClick: ()=>{
                        n.onRestoreDefault(v()),
                        n.onClose()
                    }
                }]
            },
            get onClose() {
                return n.onClose
            },
            get children() {
                const S = Op.cloneNode(!0);
                return K(S, W(p0, {
                    get each() {
                        return v()
                    },
                    children: b=>{
                        let A;
                        const T = oe.utils.formatValue(l(), b.key);
                        switch (b.component) {
                        case "select":
                            {
                                A = W(s1, {
                                    style: {
                                        width: "120px"
                                    },
                                    get value() {
                                        return P(T, n.locale)
                                    },
                                    get dataSource() {
                                        return b.dataSource
                                    },
                                    onSelected: I=>{
                                        const B = I.key;
                                        C(b, B)
                                    }
                                });
                                break
                            }
                        case "switch":
                            {
                                const I = !!T;
                                A = W(uu, {
                                    open: I,
                                    onChange: ()=>{
                                        C(b, !I)
                                    }
                                });
                                break
                            }
                        }
                        return [(()=>{
                            const I = zp.cloneNode(!0);
                            return K(I, ()=>b.text),
                            I
                        }
                        )(), A]
                    }
                })),
                S
            }
        })
    }
      , Vp = Y('<img style="width:500px;margin-top: 20px">')
      , jp = n=>W(rn, {
        get title() {
            return P("screenshot", n.locale)
        },
        width: 540,
        get buttons() {
            return [{
                type: "confirm",
                children: P("save", n.locale),
                onClick: ()=>{
                    const l = document.createElement("a");
                    l.download = "screenshot",
                    l.href = n.url,
                    document.body.appendChild(l),
                    l.click(),
                    l.remove()
                }
            }]
        },
        get onClose() {
            return n.onClose
        },
        get children() {
            const l = Vp.cloneNode(!0);
            return Pe(()=>He(l, "src", n.url)),
            l
        }
    })
      , Wp = {
        AO: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 5
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 34
        }],
        BIAS: [{
            paramNameKey: "BIAS1",
            precision: 0,
            min: 1,
            styleKey: "lines[0].color"
        }, {
            paramNameKey: "BIAS2",
            precision: 0,
            min: 1,
            styleKey: "lines[1].color"
        }, {
            paramNameKey: "BIAS3",
            precision: 0,
            min: 1,
            styleKey: "lines[2].color"
        }, {
            paramNameKey: "BIAS4",
            precision: 0,
            min: 1,
            styleKey: "lines[3].color"
        }, {
            paramNameKey: "BIAS5",
            precision: 0,
            min: 1,
            styleKey: "lines[4].color"
        }],
        BOLL: [{
            paramNameKey: "period",
            precision: 0,
            min: 1,
            default: 20
        }, {
            paramNameKey: "standard_deviation",
            precision: 2,
            min: 1,
            default: 2
        }],
        BRAR: [{
            paramNameKey: "period",
            precision: 0,
            min: 1,
            default: 26
        }],
        BBI: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 3
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 6
        }, {
            paramNameKey: "params_3",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_4",
            precision: 0,
            min: 1,
            default: 24
        }],
        CCI: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 20
        }],
        CR: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 26
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 10
        }, {
            paramNameKey: "params_3",
            precision: 0,
            min: 1,
            default: 20
        }, {
            paramNameKey: "params_4",
            precision: 0,
            min: 1,
            default: 40
        }, {
            paramNameKey: "params_5",
            precision: 0,
            min: 1,
            default: 60
        }],
        DMA: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 10
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 50
        }, {
            paramNameKey: "params_3",
            precision: 0,
            min: 1,
            default: 10
        }],
        DMI: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 14
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 6
        }],
        EMV: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 14
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 9
        }],
        EMA: [{
            paramNameKey: "EMA1",
            precision: 0,
            min: 1,
            styleKey: "lines[0].color"
        }, {
            paramNameKey: "EMA2",
            precision: 0,
            min: 1,
            styleKey: "lines[1].color"
        }, {
            paramNameKey: "EMA3",
            precision: 0,
            min: 1,
            styleKey: "lines[2].color"
        }, {
            paramNameKey: "EMA4",
            precision: 0,
            min: 1,
            styleKey: "lines[3].color"
        }, {
            paramNameKey: "EMA5",
            precision: 0,
            min: 1,
            styleKey: "lines[4].color"
        }],
        MTM: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 6
        }],
        MA: [{
            paramNameKey: "MA1",
            precision: 0,
            min: 1,
            styleKey: "lines[0].color"
        }, {
            paramNameKey: "MA2",
            precision: 0,
            min: 1,
            styleKey: "lines[1].color"
        }, {
            paramNameKey: "MA3",
            precision: 0,
            min: 1,
            styleKey: "lines[2].color"
        }, {
            paramNameKey: "MA4",
            precision: 0,
            min: 1,
            styleKey: "lines[3].color"
        }, {
            paramNameKey: "MA5",
            precision: 0,
            min: 1,
            styleKey: "lines[4].color"
        }],
        MACD: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 26
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 9
        }],
        OBV: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 30
        }],
        PVT: [],
        PSY: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 6
        }],
        ROC: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 6
        }],
        RSI: [{
            paramNameKey: "RSI1",
            precision: 0,
            min: 1,
            styleKey: "lines[0].color"
        }, {
            paramNameKey: "RSI2",
            precision: 0,
            min: 1,
            styleKey: "lines[1].color"
        }, {
            paramNameKey: "RSI3",
            precision: 0,
            min: 1,
            styleKey: "lines[2].color"
        }, {
            paramNameKey: "RSI4",
            precision: 0,
            min: 1,
            styleKey: "lines[3].color"
        }, {
            paramNameKey: "RSI5",
            precision: 0,
            min: 1,
            styleKey: "lines[4].color"
        }],
        SMA: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 2
        }],
        KDJ: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 9
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 3
        }, {
            paramNameKey: "params_3",
            precision: 0,
            min: 1,
            default: 3
        }],
        SAR: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 2
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 2
        }, {
            paramNameKey: "params_3",
            precision: 0,
            min: 1,
            default: 20
        }],
        TRIX: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 12
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 9
        }],
        VOL: [{
            paramNameKey: "MA1",
            precision: 0,
            min: 1,
            styleKey: "lines[0].color"
        }, {
            paramNameKey: "MA2",
            precision: 0,
            min: 1,
            styleKey: "lines[1].color"
        }, {
            paramNameKey: "MA3",
            precision: 0,
            min: 1,
            styleKey: "lines[2].color"
        }, {
            paramNameKey: "MA4",
            precision: 0,
            min: 1,
            styleKey: "lines[3].color"
        }, {
            paramNameKey: "MA5",
            precision: 0,
            min: 1,
            styleKey: "lines[4].color"
        }],
        VR: [{
            paramNameKey: "params_1",
            precision: 0,
            min: 1,
            default: 26
        }, {
            paramNameKey: "params_2",
            precision: 0,
            min: 1,
            default: 6
        }],
        WR: [{
            paramNameKey: "WR1",
            precision: 0,
            min: 1,
            styleKey: "lines[0].color"
        }, {
            paramNameKey: "WR2",
            precision: 0,
            min: 1,
            styleKey: "lines[1].color"
        }, {
            paramNameKey: "WR3",
            precision: 0,
            min: 1,
            styleKey: "lines[2].color"
        }, {
            paramNameKey: "WR4",
            precision: 0,
            min: 1,
            styleKey: "lines[3].color"
        }, {
            paramNameKey: "WR5",
            precision: 0,
            min: 1,
            styleKey: "lines[4].color"
        }]
    }
      , Qp = Y('<div class="klinecharts-pro-indicator-setting-modal-content"></div>')
      , Kp = Y("<span></span>")
      , Zp = n=>{
        const [l,a] = ie(oe.utils.clone(n.params.calcParams))
          , v = m=>Wp[m];
        return W(rn, {
            get title() {
                return n.params.indicatorName
            },
            width: 360,
            get buttons() {
                return [{
                    type: "confirm",
                    children: P("confirm", n.locale),
                    onClick: ()=>{
                        const m = v(n.params.indicatorName)
                          , C = [];
                        oe.utils.clone(l()).forEach((S,b)=>{
                            !oe.utils.isValid(S) || S === "" ? "default"in m[b] && C.push(m[b].default) : C.push(S)
                        }
                        ),
                        n.onConfirm(C),
                        n.onClose()
                    }
                }]
            },
            get onClose() {
                return n.onClose
            },
            get children() {
                const m = Qp.cloneNode(!0);
                return K(m, ()=>v(n.params.indicatorName).map((C,S)=>[(()=>{
                    const b = Kp.cloneNode(!0);
                    return K(b, ()=>P(C.paramNameKey, n.locale)),
                    b
                }
                )(), W(l1, {
                    style: {
                        width: "200px"
                    },
                    get value() {
                        return l()[S] ?? ""
                    },
                    get precision() {
                        return C.precision
                    },
                    get min() {
                        return C.min
                    },
                    onChange: b=>{
                        const A = oe.utils.clone(l());
                        A[S] = b,
                        a(A)
                    }
                })])),
                m
            }
        })
    }
      , Hp = Y('<svg viewBox="0 0 1024 1024"><path d="M945.066667 898.133333l-189.866667-189.866666c55.466667-64 87.466667-149.333333 87.466667-241.066667 0-204.8-168.533333-373.333333-373.333334-373.333333S96 264.533333 96 469.333333 264.533333 842.666667 469.333333 842.666667c91.733333 0 174.933333-34.133333 241.066667-87.466667l189.866667 189.866667c6.4 6.4 14.933333 8.533333 23.466666 8.533333s17.066667-2.133333 23.466667-8.533333c8.533333-12.8 8.533333-34.133333-2.133333-46.933334zM469.333333 778.666667C298.666667 778.666667 160 640 160 469.333333S298.666667 160 469.333333 160 778.666667 298.666667 778.666667 469.333333 640 778.666667 469.333333 778.666667z"></path></svg>')
      , Up = Y('<img alt="symbol">')
      , Xp = Y("<li><div><span></span></div></li>")
      , Gp = n=>{
        const [l,a] = ie("")
          , [v] = o0(l, n.datafeed.searchSymbols.bind(n.datafeed));
        return W(rn, {
            get title() {
                return P("symbol_search", n.locale)
            },
            width: 460,
            get onClose() {
                return n.onClose
            },
            get children() {
                return [W(l1, {
                    class: "klinecharts-pro-symbol-search-modal-input",
                    get placeholder() {
                        return P("symbol_code", n.locale)
                    },
                    get suffix() {
                        return Hp.cloneNode(!0)
                    },
                    get value() {
                        return l()
                    },
                    onChange: m=>{
                        const C = `${m}`;
                        a(C)
                    }
                }), W(Yn, {
                    class: "klinecharts-pro-symbol-search-modal-list",
                    get loading() {
                        return v.loading
                    },
                    get dataSource() {
                        return v() ?? []
                    },
                    renderItem: m=>(()=>{
                        const C = Xp.cloneNode(!0)
                          , S = C.firstChild
                          , b = S.firstChild;
                        return C.$$click = ()=>{
                            n.onSymbolSelected(m),
                            n.onClose()
                        }
                        ,
                        K(S, W(Oe, {
                            get when() {
                                return m.logo
                            },
                            get children() {
                                const A = Up.cloneNode(!0);
                                return Pe(()=>He(A, "src", m.logo)),
                                A
                            }
                        }), b),
                        K(b, ()=>m.shortName ?? m.ticker, null),
                        K(b, ()=>`${m.name ? `(${m.name})` : ""}`, null),
                        K(C, ()=>m.exchange ?? "", null),
                        Pe(()=>He(b, "title", m.name ?? "")),
                        C
                    }
                    )()
                })]
            }
        })
    }
    ;
    ct(["click"]);
    const $p = Y('<i class="icon-close klinecharts-pro-load-icon"></i>')
      , Jp = Y('<div class="klinecharts-pro-content"><div class="klinecharts-pro-widget"></div></div>');
    function Tn(n, l, a, v) {
        return l === "VOL" && (v = {
            gap: {
                bottom: 2
            },
            ...v
        }),
        (n == null ? void 0 : n.createIndicator({
            name: l,
            createTooltipDataSource: ({indicator: m, defaultStyles: C})=>{
                const S = [];
                return m.visible ? (S.push(C.tooltip.icons[1]),
                S.push(C.tooltip.icons[2]),
                S.push(C.tooltip.icons[3])) : (S.push(C.tooltip.icons[0]),
                S.push(C.tooltip.icons[2]),
                S.push(C.tooltip.icons[3])),
                {
                    icons: S
                }
            }
        }, a, v)) ?? null
    }
    const qp = n=>{
        let l, a = null, v, m = !1;
        const [C,S] = ie(n.theme)
          , [b,A] = ie(n.styles)
          , [T,I] = ie(n.locale)
          , [B,H] = ie(n.symbol)
          , [Z,ce] = ie(n.period)
          , [ge,ve] = ie(!1)
          , [le,de] = ie([...n.mainIndicators])
          , [pe,re] = ie({})
          , [J,me] = ie(!1)
          , [Le,ue] = ie({
            key: n.timezone,
            text: Cr(n.timezone, n.locale)
        })
          , [ae,G] = ie(!1)
          , [fe,Ce] = ie()
          , [ht,ee] = ie("")
          , [Ve,X] = ie(n.drawingBarVisible)
          , [dt,pt] = ie(!1)
          , [tt,q] = ie(!1)
          , [Te,ze] = ie({
            visible: !1,
            indicatorName: "",
            paneId: "",
            calcParams: []
        });
        n.ref({
            setTheme: S,
            getTheme: ()=>C(),
            setStyles: A,
            getStyles: ()=>a.getStyles(),
            setLocale: I,
            getLocale: ()=>T(),
            setTimezone: V=>{
                ue({
                    key: V,
                    text: Cr(n.timezone, T())
                })
            }
            ,
            getTimezone: ()=>Le().key,
            setSymbol: H,
            getSymbol: ()=>B(),
            setPeriod: ce,
            getPeriod: ()=>Z()
        });
        const nt = ()=>{
            a == null || a.resize()
        }
          , At = (V,R,j)=>{
            let Q = R
              , xe = Q;
            switch (V.timespan) {
            case "minute":
                {
                    Q = Q - Q % (60 * 1e3),
                    xe = Q - j * V.multiplier * 60 * 1e3;
                    break
                }
            case "hour":
                {
                    Q = Q - Q % (60 * 60 * 1e3),
                    xe = Q - j * V.multiplier * 60 * 60 * 1e3;
                    break
                }
            case "day":
                {
                    Q = Q - Q % (60 * 60 * 1e3),
                    xe = Q - j * V.multiplier * 24 * 60 * 60 * 1e3;
                    break
                }
            case "week":
                {
                    const Be = new Date(Q).getDay()
                      , it = Be === 0 ? 6 : Be - 1;
                    Q = Q - it * 60 * 60 * 24;
                    const Ct = new Date(Q);
                    Q = new Date(`${Ct.getFullYear()}-${Ct.getMonth() + 1}-${Ct.getDate()}`).getTime(),
                    xe = j * V.multiplier * 7 * 24 * 60 * 60 * 1e3;
                    break
                }
            case "month":
                {
                    const Be = new Date(Q)
                      , it = Be.getFullYear()
                      , Ct = Be.getMonth() + 1;
                    Q = new Date(`${it}-${Ct}-01`).getTime(),
                    xe = j * V.multiplier * 30 * 24 * 60 * 60 * 1e3;
                    const xt = new Date(xe);
                    xe = new Date(`${xt.getFullYear()}-${xt.getMonth() + 1}-01`).getTime();
                    break
                }
            case "year":
                {
                    const Be = new Date(Q).getFullYear();
                    Q = new Date(`${Be}-01-01`).getTime(),
                    xe = j * V.multiplier * 365 * 24 * 60 * 60 * 1e3;
                    const it = new Date(xe);
                    xe = new Date(`${it.getFullYear()}-01-01`).getTime();
                    break
                }
            }
            return [xe, Q]
        }
        ;
        return Ar(()=>{
            if (window.addEventListener("resize", nt),
            a = oe.init(l, {
                customApi: {
                    formatDate: (R,j,Q,xe)=>{
                        switch (Z().timespan) {
                        case "minute":
                            return xe === oe.FormatDateType.XAxis ? oe.utils.formatDate(R, j, "HH:mm") : oe.utils.formatDate(R, j, "YYYY-MM-DD HH:mm");
                        case "hour":
                            return xe === oe.FormatDateType.XAxis ? oe.utils.formatDate(R, j, "MM-DD HH:mm") : oe.utils.formatDate(R, j, "YYYY-MM-DD HH:mm");
                        case "day":
                        case "week":
                            return oe.utils.formatDate(R, j, "YYYY-MM-DD");
                        case "month":
                            return xe === oe.FormatDateType.XAxis ? oe.utils.formatDate(R, j, "YYYY-MM") : oe.utils.formatDate(R, j, "YYYY-MM-DD");
                        case "year":
                            return xe === oe.FormatDateType.XAxis ? oe.utils.formatDate(R, j, "YYYY") : oe.utils.formatDate(R, j, "YYYY-MM-DD")
                        }
                        return oe.utils.formatDate(R, j, "YYYY-MM-DD HH:mm")
                    }
                }
            }),
            a) {
                const R = a.getDom("candle_pane", oe.DomPosition.Main);
                if (R) {
                    let Q = document.createElement("div");
                    if (Q.className = "klinecharts-pro-watermark",
                    oe.utils.isString(n.watermark)) {
                        const xe = n.watermark.replace(/(^\s*)|(\s*$)/g, "");
                        Q.innerHTML = xe
                    } else
                        Q.appendChild(n.watermark);
                    R.appendChild(Q)
                }
                const j = a.getDom("candle_pane", oe.DomPosition.YAxis);
                v = document.createElement("span"),
                v.className = "klinecharts-pro-price-unit",
                j == null || j.appendChild(v)
            }
            le().forEach(R=>{
                Tn(a, R, !0, {
                    id: "candle_pane"
                })
            }
            );
            const V = {};
            n.subIndicators.forEach(R=>{
                const j = Tn(a, R, !0);
                j && (V[R] = j)
            }
            ),
            re(V),
            a == null || a.loadMore(R=>{
                m = !0,
                (async()=>{
                    const j = Z()
                      , [Q] = At(j, R, 1)
                      , [xe] = At(j, Q, 500)
                      , Be = await n.datafeed.getHistoryKLineData(B(), j, xe, Q);
                    a == null || a.applyMoreData(Be, Be.length > 0),
                    m = !1
                }
                )()
            }
            ),
            a == null || a.subscribeAction(oe.ActionType.OnTooltipIconClick, R=>{
                if (R.indicatorName)
                    switch (R.iconId) {
                    case "visible":
                        {
                            a == null || a.overrideIndicator({
                                name: R.indicatorName,
                                visible: !0
                            }, R.paneId);
                            break
                        }
                    case "invisible":
                        {
                            a == null || a.overrideIndicator({
                                name: R.indicatorName,
                                visible: !1
                            }, R.paneId);
                            break
                        }
                    case "setting":
                        {
                            const j = a == null ? void 0 : a.getIndicatorByPaneId(R.paneId, R.indicatorName);
                            ze({
                                visible: !0,
                                indicatorName: R.indicatorName,
                                paneId: R.paneId,
                                calcParams: j.calcParams
                            });
                            break
                        }
                    case "close":
                        if (R.paneId === "candle_pane") {
                            const j = [...le()];
                            a == null || a.removeIndicator("candle_pane", R.indicatorName),
                            j.splice(j.indexOf(R.indicatorName), 1),
                            de(j)
                        } else {
                            const j = {
                                ...pe()
                            };
                            a == null || a.removeIndicator(R.paneId, R.indicatorName),
                            delete j[R.indicatorName],
                            re(j)
                        }
                    }
            }
            )
        }
        ),
        Ei(()=>{
            window.removeEventListener("resize", nt),
            oe.dispose(l)
        }
        ),
        vt(()=>{
            const V = B();
            V != null && V.priceCurrency ? (v.innerHTML = V == null ? void 0 : V.priceCurrency.toLocaleUpperCase(),
            v.style.display = "flex") : v.style.display = "none",
            a == null || a.setPriceVolumePrecision((V == null ? void 0 : V.pricePrecision) ?? 2, (V == null ? void 0 : V.volumePrecision) ?? 0)
        }
        ),
        vt(V=>{
            if (!m) {
                V && n.datafeed.unsubscribe(V.symbol, V.period);
                const R = B()
                  , j = Z();
                return m = !0,
                q(!0),
                (async()=>{
                    const [Q,xe] = At(j, new Date().getTime(), 500)
                      , Be = await n.datafeed.getHistoryKLineData(R, j, Q, xe);
                    a == null || a.applyNewData(Be, Be.length > 0),
                    n.datafeed.subscribe(R, j, it=>{
                        a == null || a.updateData(it)
                    }
                    ),
                    m = !1,
                    q(!1)
                }
                )(),
                {
                    symbol: R,
                    period: j
                }
            }
            return V
        }
        ),
        vt(()=>{
            const V = C();
            a == null || a.setStyles(V);
            const R = V === "dark" ? "#929AA5" : "#76808F";
            a == null || a.setStyles({
                indicator: {
                    tooltip: {
                        icons: [{
                            id: "visible",
                            position: oe.TooltipIconPosition.Middle,
                            marginLeft: 8,
                            marginTop: 7,
                            marginRight: 0,
                            marginBottom: 0,
                            paddingLeft: 0,
                            paddingTop: 0,
                            paddingRight: 0,
                            paddingBottom: 0,
                            icon: "",
                            fontFamily: "icomoon",
                            size: 14,
                            color: R,
                            activeColor: R,
                            backgroundColor: "transparent",
                            activeBackgroundColor: "rgba(22, 119, 255, 0.15)"
                        }, {
                            id: "invisible",
                            position: oe.TooltipIconPosition.Middle,
                            marginLeft: 8,
                            marginTop: 7,
                            marginRight: 0,
                            marginBottom: 0,
                            paddingLeft: 0,
                            paddingTop: 0,
                            paddingRight: 0,
                            paddingBottom: 0,
                            icon: "",
                            fontFamily: "icomoon",
                            size: 14,
                            color: R,
                            activeColor: R,
                            backgroundColor: "transparent",
                            activeBackgroundColor: "rgba(22, 119, 255, 0.15)"
                        }, {
                            id: "setting",
                            position: oe.TooltipIconPosition.Middle,
                            marginLeft: 6,
                            marginTop: 7,
                            marginBottom: 0,
                            marginRight: 0,
                            paddingLeft: 0,
                            paddingTop: 0,
                            paddingRight: 0,
                            paddingBottom: 0,
                            icon: "",
                            fontFamily: "icomoon",
                            size: 14,
                            color: R,
                            activeColor: R,
                            backgroundColor: "transparent",
                            activeBackgroundColor: "rgba(22, 119, 255, 0.15)"
                        }, {
                            id: "close",
                            position: oe.TooltipIconPosition.Middle,
                            marginLeft: 6,
                            marginTop: 7,
                            marginRight: 0,
                            marginBottom: 0,
                            paddingLeft: 0,
                            paddingTop: 0,
                            paddingRight: 0,
                            paddingBottom: 0,
                            icon: "",
                            fontFamily: "icomoon",
                            size: 14,
                            color: R,
                            activeColor: R,
                            backgroundColor: "transparent",
                            activeBackgroundColor: "rgba(22, 119, 255, 0.15)"
                        }]
                    }
                }
            })
        }
        ),
        vt(()=>{
            a == null || a.setLocale(T())
        }
        ),
        vt(()=>{
            a == null || a.setTimezone(Le().key)
        }
        ),
        vt(()=>{
            b() && (a == null || a.setStyles(b()),
            Ce(V8(a.getStyles())))
        }
        ),
        [$p.cloneNode(!0), W(Oe, {
            get when() {
                return dt()
            },
            get children() {
                return W(Gp, {
                    get locale() {
                        return n.locale
                    },
                    get datafeed() {
                        return n.datafeed
                    },
                    onSymbolSelected: V=>{
                        H(V)
                    }
                    ,
                    onClose: ()=>{
                        pt(!1)
                    }
                })
            }
        }), W(Oe, {
            get when() {
                return ge()
            },
            get children() {
                return W(Bp, {
                    get locale() {
                        return n.locale
                    },
                    get mainIndicators() {
                        return le()
                    },
                    get subIndicators() {
                        return pe()
                    },
                    onClose: ()=>{
                        ve(!1)
                    }
                    ,
                    onMainIndicatorChange: V=>{
                        const R = [...le()];
                        V.added ? (Tn(a, V.name, !0, {
                            id: "candle_pane"
                        }),
                        R.push(V.name)) : (a == null || a.removeIndicator("candle_pane", V.name),
                        R.splice(R.indexOf(V.name), 1)),
                        de(R)
                    }
                    ,
                    onSubIndicatorChange: V=>{
                        const R = {
                            ...pe()
                        };
                        if (V.added) {
                            const j = Tn(a, V.name);
                            j && (R[V.name] = j)
                        } else
                            V.paneId && (a == null || a.removeIndicator(V.paneId, V.name),
                            delete R[V.name]);
                        re(R)
                    }
                })
            }
        }), W(Oe, {
            get when() {
                return J()
            },
            get children() {
                return W(Rp, {
                    get locale() {
                        return n.locale
                    },
                    get timezone() {
                        return Le()
                    },
                    onClose: ()=>{
                        me(!1)
                    }
                    ,
                    onConfirm: ue
                })
            }
        }), W(Oe, {
            get when() {
                return ae()
            },
            get children() {
                return W(Yp, {
                    get locale() {
                        return n.locale
                    },
                    get currentStyles() {
                        return oe.utils.clone(a.getStyles())
                    },
                    onClose: ()=>{
                        G(!1)
                    }
                    ,
                    onChange: V=>{
                        a == null || a.setStyles(V)
                    }
                    ,
                    onRestoreDefault: V=>{
                        const R = {};
                        V.forEach(j=>{
                            const Q = j.key;
                            wi(R, Q, oe.utils.formatValue(fe(), Q))
                        }
                        ),
                        a == null || a.setStyles(R)
                    }
                })
            }
        }), W(Oe, {
            get when() {
                return ht().length > 0
            },
            get children() {
                return W(jp, {
                    get locale() {
                        return n.locale
                    },
                    get url() {
                        return ht()
                    },
                    onClose: ()=>{
                        ee("")
                    }
                })
            }
        }), W(Oe, {
            get when() {
                return Te().visible
            },
            get children() {
                return W(Zp, {
                    get locale() {
                        return n.locale
                    },
                    get params() {
                        return Te()
                    },
                    onClose: ()=>{
                        ze({
                            visible: !1,
                            indicatorName: "",
                            paneId: "",
                            calcParams: []
                        })
                    }
                    ,
                    onConfirm: V=>{
                        const R = Te();
                        a == null || a.overrideIndicator({
                            name: R.indicatorName,
                            calcParams: V
                        }, R.paneId)
                    }
                })
            }
        }), W(od, {
            get locale() {
                return n.locale
            },
            get symbol() {
                return B()
            },
            get spread() {
                return Ve()
            },
            get period() {
                return Z()
            },
            get periods() {
                return n.periods
            },
            onMenuClick: async()=>{
                try {
                    await r0(()=>X(!Ve())),
                    a == null || a.resize()
                } catch {}
            }
            ,
            onSymbolClick: ()=>{
                pt(!dt())
            }
            ,
            onPeriodChange: ce,
            onIndicatorClick: ()=>{
                ve(V=>!V)
            }
            ,
            onTimezoneClick: ()=>{
                me(V=>!V)
            }
            ,
            onSettingClick: ()=>{
                G(V=>!V)
            }
            ,
            onScreenshotClick: ()=>{
                if (a) {
                    const V = a.getConvertPictureUrl(!0, "jpeg", n.theme === "dark" ? "#151517" : "#ffffff");
                    ee(V)
                }
            }
        }), (()=>{
            const V = Jp.cloneNode(!0)
              , R = V.firstChild;
            K(V, W(Oe, {
                get when() {
                    return tt()
                },
                get children() {
                    return W(a1, {})
                }
            }), R),
            K(V, W(Oe, {
                get when() {
                    return Ve()
                },
                get children() {
                    return W(Fp, {
                        get locale() {
                            return n.locale
                        },
                        onDrawingItemClick: Q=>{
                            a == null || a.createOverlay(Q)
                        }
                        ,
                        onModeChange: Q=>{
                            a == null || a.overrideOverlay({
                                mode: Q
                            })
                        }
                        ,
                        onLockChange: Q=>{
                            a == null || a.overrideOverlay({
                                lock: Q
                            })
                        }
                        ,
                        onVisibleChange: Q=>{
                            a == null || a.overrideOverlay({
                                visible: Q
                            })
                        }
                        ,
                        onRemoveClick: Q=>{
                            a == null || a.removeOverlay({
                                groupId: Q
                            })
                        }
                    })
                }
            }), R);
            const j = l;
            return typeof j == "function" ? Ii(j, R) : l = R,
            Pe(()=>He(R, "data-drawing-bar-visible", Ve())),
            V
        }
        )()]
    }
      , eg = Y('<svg class="logo" viewBox="0 0 80 92"><path d="M17.3121,90.6225C17.4517,90.6436,17.5901,90.6541,17.7274,90.6541C19.0559,90.6541,20.2213,89.6944,20.4295,88.3532C20.6566,86.8762,19.6297,85.4953,18.1367,85.2705C12.4557,84.4139,8.6332,82.4828,6.77344,79.5289C4.57886,76.0413,5.81634,72.041,5.82344,72.0188C5.85893,71.9123,5.88732,71.8035,5.9098,71.6934C8.12389,60.6361,11.356,53.3215,14.8104,48.1192C18.2648,42.9169,21.9414,39.8269,25.0446,37.2188C26.5968,35.915,28.0614,34.6827,29.2456,33.3731C30.9225,31.5172,31.6197,29.527,31.6725,27.5336C35.6187,26.8278,40.9421,26.2679,47.2065,26.583C48.0984,31.9917,53.6073,36.1009,54.9203,37.0116C62.331,44.1074,67.7577,51.6455,71.0525,59.4213C71.4914,60.4582,72.5065,61.082,73.576,61.082C73.9388,61.082,74.2976,61.01,74.6313,60.8702C76.0249,60.2932,76.6815,58.7074,76.0971,57.3287C72.4887,48.8133,66.5865,40.6151,58.5547,32.9599C58.4423,32.8523,58.3157,32.7516,58.1868,32.665C57.0851,31.9259,54.232,29.5936,53.0642,27.1195C53.1331,27.1287,53.2022,27.138,53.2713,27.1474C54.0162,29.0245,55.8642,30.3535,58.026,30.3535C59.5009,30.3535,60.8298,29.7349,61.7619,28.7456C64.8144,29.7431,68.4378,31.7217,69.4046,35.5848C69.6826,36.6932,70.687,37.4351,71.792,37.4351C71.9884,37.4351,72.1871,37.4117,72.3859,37.3638C73.7062,37.0407,74.5106,35.7206,74.1841,34.4145C72.9993,29.682,69.5399,26.8822,66.0787,25.233C69.5063,23.5492,71.5221,21.2286,71.6702,21.054C72.5457,20.0253,72.412,18.4886,71.3721,17.6226C70.3322,16.7577,68.78,16.8888,67.9033,17.9175C67.87,17.9563,65.4948,20.6901,61.621,21.7153C60.6982,20.8102,59.4281,20.2511,58.026,20.2511C57.4767,20.2511,56.9477,20.3369,56.4519,20.4957C60.0845,17.7606,64.6729,14.2394,65.5797,13.2374C67.1035,11.5533,68.7444,9.07333,67.9103,6.83096C67.4406,5.56933,66.3321,4.73254,64.8675,4.53476C63.5567,4.35687,62.3511,4.77234,61.2899,5.13865C59.4858,5.76127,58.3843,6.06556,56.7564,5.08482C56.1318,4.70797,55.5284,4.32176,54.9369,3.94374L54.9364,3.9434C51.4796,1.73271,47.5602,-0.773825,41.9871,0.726471C40.5296,1.11853,39.6695,2.60604,40.0659,4.04789C40.4622,5.48975,41.9647,6.34058,43.4234,5.94853C46.497,5.12109,48.4668,6.25164,51.9662,8.48933C52.5992,8.89427,53.2439,9.30622,53.9124,9.70882C56.1034,11.0278,58.1028,11.2502,59.7803,11.0758C57.5491,12.857,53.6142,15.8508,49.9988,18.539C49.8498,18.6502,49.7137,18.7754,49.5907,18.9135C48.8054,19.7953,48.2004,20.7386,47.7817,21.7249C40.8791,21.3359,35.0392,21.9433,30.7016,22.7299C28.9691,18.45,25.3757,14.69,23.6876,12.9237L23.2771,12.4919C22.3803,11.5427,21.4493,9.09088,20.724,6.56646C22.9517,7.09896,24.4992,7.27569,26.6784,7.49454C28.182,7.64786,29.5236,6.56295,29.6762,5.07662C29.83,3.59029,28.7357,2.26195,27.2321,2.11098C24.2638,1.81255,22.7731,1.66274,17.8125,0.123747C16.8976,-0.159672,15.8995,0.0512175,15.1814,0.679657C14.4636,1.30796,14.1306,2.26212,14.3036,3.19471C14.6017,4.80159,16.2438,12.9776,19.2819,16.1902L19.7125,16.6431C21.7693,18.7949,24.087,21.4425,25.3073,23.9616C23.5312,24.4607,22.5042,24.8571,22.352,24.9172C21.0897,25.4146,20.4756,26.8272,20.9761,28.076C21.4777,29.3247,22.908,29.9368,24.1703,29.4429C24.1971,29.4326,24.7465,29.2231,25.7556,28.9202C25.6051,29.2154,25.4105,29.4984,25.1676,29.7672C24.2342,30.7995,22.9683,31.8633,21.5025,33.0957C15.0785,38.4945,5.37624,46.647,0.56829,70.5137C0.241766,71.6314,-1.1223,77.1437,2.07787,82.3084C4.80718,86.7136,9.93219,89.5095,17.3121,90.6225ZM31.9158,3.86173C31.9158,5.61208,33.3502,7.03101,35.1195,7.03101C36.8889,7.03101,38.3233,5.61208,38.3233,3.86173C38.3233,2.11139,36.8889,0.69245,35.1195,0.69245C33.3502,0.69245,31.9158,2.11139,31.9158,3.86173ZM76.4249,69.6758C74.6555,69.6758,73.2212,68.2569,73.2212,66.5065C73.2212,64.7562,74.6555,63.3372,76.4249,63.3372C78.1943,63.3372,79.6286,64.7562,79.6286,66.5065C79.6286,68.2569,78.1943,69.6758,76.4249,69.6758ZM33.3378,91.7858C34.2038,91.7987,35.0734,91.8045,35.9465,91.8045C51.0955,91.8046,67.0041,89.9999,69.4317,89.142C76.148,86.7686,80,81.5992,80,74.9575C80,73.463,78.7755,72.2517,77.2648,72.2517C75.754,72.2517,74.5295,73.463,74.5295,74.9575C74.5295,79.3603,72.1953,82.4184,67.6134,84.037C65.7512,84.6175,49.6344,86.6059,33.4183,86.3742C31.9158,86.3297,30.6653,87.5457,30.6428,89.0402C30.6203,90.5359,31.827,91.7636,33.3378,91.7858ZM22.0693,88.8307C22.0693,90.5811,23.5037,92,25.2731,92C27.0424,92,28.4768,90.5811,28.4768,88.8307C28.4768,87.0804,27.0424,85.6615,25.2731,85.6615C23.5037,85.6615,22.0693,87.0804,22.0693,88.8307Z" fill-rule="evenodd" fill-opacity="1"></path><rect x="23.445068359375" y="52.683013916015625" width="12.70588207244873" height="22.702716827392578" rx="2" fill-opacity="1"></rect><path d="M29.562697410583496 47.24264647066593C29.562697410583496 47.11269711728047 29.66804217572163 47.007352352142334 29.797991529107094 47.007352352142334L29.797991529107094 47.007352352142334C29.927940882492557 47.007352352142334 30.03328564763069 47.11269711728047 30.03328564763069 47.24264647066593L30.03328564763069 52.68303155899048C30.03328564763069 52.68303155899048 30.03328564763069 52.68303155899048 30.03328564763069 52.68303155899048L29.562697410583496 52.68303155899048C29.562697410583496 52.68303155899048 29.562697410583496 52.68303155899048 29.562697410583496 52.68303155899048Z" fill-opacity="1"></path><path d="M29.562697410583496 75.38572645187378C29.562697410583496 75.38572645187378 29.562697410583496 75.38572645187378 29.562697410583496 75.38572645187378L30.03328564763069 75.38572645187378C30.03328564763069 75.38572645187378 30.03328564763069 75.38572645187378 30.03328564763069 75.38572645187378L30.03328564763069 80.82611154019833C30.03328564763069 80.95606089358378 29.927940882492557 81.06140565872192 29.797991529107094 81.06140565872192L29.797991529107094 81.06140565872192C29.66804217572163 81.06140565872192 29.562697410583496 80.95606089358378 29.562697410583496 80.82611154019833Z" fill-opacity="1"></path><rect x="42.73918533325195" y="44.73706293106079" width="12.70588207244873" height="22.702716827392578" rx="2" fill-opacity="1"></rect><path d="M48.85681438446045 39.2966954857111C48.85681438446045 39.166746132325635 48.962159149598584 39.0614013671875 49.09210850298405 39.0614013671875L49.09210850298405 39.0614013671875C49.22205785636951 39.0614013671875 49.327402621507645 39.166746132325635 49.327402621507645 39.2966954857111L49.327402621507645 44.737080574035645C49.327402621507645 44.737080574035645 49.327402621507645 44.737080574035645 49.327402621507645 44.737080574035645L48.85681438446045 44.737080574035645C48.85681438446045 44.737080574035645 48.85681438446045 44.737080574035645 48.85681438446045 44.737080574035645Z" fill-opacity="1"></path><path d="M48.85681438446045 67.43977546691895C48.85681438446045 67.43977546691895 48.85681438446045 67.43977546691895 48.85681438446045 67.43977546691895L49.327402621507645 67.43977546691895C49.327402621507645 67.43977546691895 49.327402621507645 67.43977546691895 49.327402621507645 67.43977546691895L49.327402621507645 72.88016055524349C49.327402621507645 73.01010990862895 49.22205785636951 73.11545467376709 49.09210850298405 73.11545467376709L49.09210850298405 73.11545467376709C48.962159149598584 73.11545467376709 48.85681438446045 73.01010990862895 48.85681438446045 72.88016055524349Z" fill-opacity="1"></path></svg>')
      , tg = eg.cloneNode(!0);
    class ng {
        constructor(l) {
            if (En(this, "_chartApi", null),
            oe.utils.isString(l.container)) {
                if (this._container = document.getElementById(l.container),
                !this._container)
                    throw new Error("Container is null")
            } else
                this._container = l.container;
            this._container.classList.add("klinecharts-pro"),
            this._container.setAttribute("data-theme", l.theme ?? "light");
            const a = this;
            v0(()=>W(qp, {
                ref: v=>{
                    a._chartApi = v
                }
                ,
                get styles() {
                    return l.styles ?? {}
                },
                get watermark() {
                    return l.watermark ?? tg
                },
                get theme() {
                    return l.theme ?? "light"
                },
                get locale() {
                    return l.locale ?? "zh-CN"
                },
                get drawingBarVisible() {
                    return l.drawingBarVisible ?? !0
                },
                get symbol() {
                    return l.symbol
                },
                get period() {
                    return l.period
                },
                get periods() {
                    return l.periods ?? [{
                        multiplier: 1,
                        timespan: "minute",
                        text: "1m"
                    }, {
                        multiplier: 5,
                        timespan: "minute",
                        text: "5m"
                    }, {
                        multiplier: 15,
                        timespan: "minute",
                        text: "15m"
                    }, {
                        multiplier: 1,
                        timespan: "hour",
                        text: "1H"
                    }, {
                        multiplier: 2,
                        timespan: "hour",
                        text: "2H"
                    }, {
                        multiplier: 4,
                        timespan: "hour",
                        text: "4H"
                    }, {
                        multiplier: 1,
                        timespan: "day",
                        text: "D"
                    }, {
                        multiplier: 1,
                        timespan: "week",
                        text: "W"
                    }, {
                        multiplier: 1,
                        timespan: "month",
                        text: "M"
                    }, {
                        multiplier: 1,
                        timespan: "year",
                        text: "Y"
                    }]
                },
                get timezone() {
                    return l.timezone ?? "Asia/Shanghai"
                },
                get mainIndicators() {
                    return l.mainIndicators ?? ["MA"]
                },
                get subIndicators() {
                    return l.subIndicators ?? ["VOL"]
                },
                get datafeed() {
                    return l.datafeed
                }
            }), this._container)
        }
        setTheme(l) {
            var a;
            (a = this._container) == null || a.setAttribute("data-theme", l),
            this._chartApi.setTheme(l)
        }
        getTheme() {
            return this._chartApi.getTheme()
        }
        setStyles(l) {
            this._chartApi.setStyles(l)
        }
        getStyles() {
            return this._chartApi.getStyles()
        }
        setLocale(l) {
            this._chartApi.setLocale(l)
        }
        getLocale() {
            return this._chartApi.getLocale()
        }
        setTimezone(l) {
            this._chartApi.setTimezone(l)
        }
        getTimezone() {
            return this._chartApi.getTimezone()
        }
        setSymbol(l) {
            this._chartApi.setSymbol(l)
        }
        getSymbol() {
            return this._chartApi.getSymbol()
        }
        setPeriod(l) {
            this._chartApi.setPeriod(l)
        }
        getPeriod() {
            return this._chartApi.getPeriod()
        }
    }
    qa.forEach(n=>{
        oe.registerOverlay(n)
    }
    );
    function ig(n) {
        let l, a, v, m, C, S, b, A, T, I = n[0] === "zh-CN" ? "来自" : "from", B, H, Z, ce, ge = n[0] === "zh-CN" ? "，数据来自" : ", Data from", ve, le, de, pe, re = n[0] === "zh-CN" ? "，源码" : ", Source code", J, me, Le, ue, ae;
        return {
            c() {
                l = Bt("main"),
                a = Bt("div"),
                v = kn(),
                m = Bt("p"),
                C = Ln("svg"),
                S = Ln("path"),
                b = Ln("path"),
                A = Ln("path"),
                T = Lt(`
        UI `),
                B = Lt(I),
                H = Lt(` 
        `),
                Z = Bt("a"),
                Z.textContent = "KLineChart Pro",
                ce = kn(),
                ve = Lt(ge),
                le = Lt(` 
        `),
                de = Bt("a"),
                de.textContent = "polygon.io",
                pe = kn(),
                J = Lt(re),
                me = Lt(` 
        `),
                Le = Bt("a"),
                Le.textContent = "klinecharts/preview",
                ue = kn(),
                ae = Bt("div"),
                De(a, "class", "github"),
                De(S, "d", "M512 184c44.3 0 87.3 8.7 127.6 25.7 39 16.5 74.1 40.2 104.3 70.3 30.2 30.2 53.8 65.3 70.3 104.3C831.3 424.7 840 467.7 840 512s-8.7 87.3-25.7 127.6c-16.5 39-40.2 74.1-70.3 104.3-30.2 30.2-65.3 53.8-104.3 70.3C599.3 831.3 556.3 840 512 840s-87.3-8.7-127.6-25.7c-39-16.5-74.1-40.2-104.3-70.3-30.2-30.2-53.8-65.3-70.3-104.3C192.7 599.3 184 556.3 184 512s8.7-87.3 25.7-127.6c16.5-39 40.2-74.1 70.3-104.3s65.3-53.8 104.3-70.3C424.7 192.7 467.7 184 512 184m0-120C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z"),
                De(S, "fill", "#006EFF"),
                De(b, "d", "M452 464.5h120v300H452z"),
                De(b, "fill", "#006EFF"),
                De(A, "d", "M512 323.3m-60 0a60 60 0 1 0 120 0 60 60 0 1 0-120 0Z"),
                De(A, "fill", "#006EFF"),
                De(C, "viewBox", "0 0 1024 1024"),
                De(C, "width", "16"),
                De(C, "height", "16"),
                De(Z, "target", "_blank"),
                De(Z, "rel", "noreferrer noopener"),
                De(Z, "href", "https://pro.klinecharts.com"),
                De(de, "target", "_blank"),
                De(de, "rel", "noreferrer noopener"),
                De(de, "href", "https://polygon.io"),
                De(Le, "target", "_blank"),
                De(Le, "rel", "noreferrer noopener"),
                De(Le, "href", "https://github.com/klinecharts/preview"),
                De(m, "class", "announcement-bar"),
                De(ae, "id", "container")
            },
            m(G, fe) {
                fa(G, l, fe),
                Ie(l, a),
                Ie(l, v),
                Ie(l, m),
                Ie(m, C),
                Ie(C, S),
                Ie(C, b),
                Ie(C, A),
                Ie(m, T),
                Ie(m, B),
                Ie(m, H),
                Ie(m, Z),
                Ie(m, ce),
                Ie(m, ve),
                Ie(m, le),
                Ie(m, de),
                Ie(m, pe),
                Ie(m, J),
                Ie(m, me),
                Ie(m, Le),
                Ie(l, ue),
                Ie(l, ae)
            },
            p(G, [fe]) {
                fe & 1 && I !== (I = G[0] === "zh-CN" ? "来自" : "from") && di(B, I),
                fe & 1 && ge !== (ge = G[0] === "zh-CN" ? "，数据来自" : ", Data from") && di(ve, ge),
                fe & 1 && re !== (re = G[0] === "zh-CN" ? "，源码" : ", Source code") && di(J, re)
            },
            i: vn,
            o: vn,
            d(G) {
                G && wr(l)
            }
        }
    }
    function og(n, l, a) {
        let v = "zh-CN";
        return Ca(()=>{
            window.location.hash.endsWith("#en-US") && a(0, v = "en-US");
            const C = {
                container: "container",
                locale: v,
                symbol: {
                    exchange: "XNYS",
                    market: "stocks",
                    name: "Alibaba Group Holding Limited American Depositary Shares, each represents eight Ordinary Shares",
                    shortName: "BABA",
                    ticker: "BABA",
                    priceCurrency: "usd",
                    type: "ADRC",
                    logo: ""
                },
                period: {
                    multiplier: 15,
                    timespan: "minute",
                    text: "15m"
                },
                subIndicators: ["VOL", "MACD"],
                datafeed: new e0("k2hPDhLy8gIpP4lMCU0gwo92xNRxE2XI")
            };
            new ng(C)
        }
        ),
        [v]
    }
    class rg extends Ea {
        constructor(l) {
            super(),
            Ta(this, l, og, ig, ga, {})
        }
    }
    new rg({
        target: document.getElementById("app")
    });

    </script>

    </head>
    <body>
    <div id="app"></div>
    <script src="../js/jquery-3.4.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $('.announcement-bar').hide();
            $('.klinecharts-pro-watermark').hide();
        });
    </script>
    <button id="btn">开始更新</button>
    </body>
    </html>

















